C# jQueryWebMethod调用返回整个页面html
我有一个网站www.arabadukkan.com 我在顶部有层叠的组合框(araçtürü->marka->model等) 我调用webmethod返回结果,但结果是整个页面的html。 这段代码在我的本地应用程序中非常有效 WebMethod代码:C# jQueryWebMethod调用返回整个页面html,c#,jquery,asp.net,ajax,webmethod,C#,Jquery,Asp.net,Ajax,Webmethod,我有一个网站www.arabadukkan.com 我在顶部有层叠的组合框(araçtürü->marka->model等) 我调用webmethod返回结果,但结果是整个页面的html。 这段代码在我的本地应用程序中非常有效 WebMethod代码: public static string GetMarkas(string selectedId) { var items = Service.DS.GetMarkas().WithCategoryId(selectedId.SayiV
public static string GetMarkas(string selectedId)
{
var items = Service.DS.GetMarkas().WithCategoryId(selectedId.SayiVer());
string donen = "<option value=''>Tüm Markalar...</option>";
foreach (var item in items) donen += string.Format("<option value='{0}'>{1}</option>", item.id, item.Title);
return donen;
}
公共静态字符串GetMarkas(字符串selectedId)
{
var items=Service.DS.GetMarkas().WithCategoryId(selectedId.SayiVer());
string donen=“Tüm Markalar…”;
foreach(items中的var item)donen+=string.Format(“{1}”,item.id,item.Title);
返回多恩;
}
我找不到任何解决办法。当我在chrome中查看网络选项卡时,我看到GetMarkas响应标题是“Content-Type:text/html;charset=utf-8”
我的剧本是:
function GetCombo(fromCombo, toCombo, method) {
var veriler = {
selectedId: $(fromCombo).val()
};
$(toCombo).find('option').remove().end().append("<option value='0'>Yükleniyor...</option>");
$.ajax({
type: "POST",
url: ResolveUrl('~/wm.aspx/') + method,
data: $.toJSON(veriler),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$(toCombo).find('option').remove().end().append(msg.d);
$(toCombo).trigger("change");
},
error: function (msg, x, error) {
alert("Hata Oluştu." + error);
}
});
}
函数GetCombo(fromCombo,toCombo,method){
变量veriler={
选择edid:$(fromCombo).val()
};
$(toCombo.find('option').remove().end().append(“Yükleniyor…”);
$.ajax({
类型:“POST”,
url:ResolveUrl(“~/wm.aspx/”)+方法,
数据:$.toJSON(veriler),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
$(toCombo.find('option').remove().end().append(msg.d);
$(toCombo)。触发器(“更改”);
},
错误:函数(消息,x,错误){
警报(“Hata Oluştu.”+错误);
}
});
}
试试下面的代码,我想这里不需要json
function GetCombo(fromCombo, toCombo, method) {
var veriler = {
selectedId: $(fromCombo).val()
};
$(toCombo).find('option').remove().end().append("<option value='0'>Yükleniyor...</option>");
$.ajax({
type: "POST",
url: ResolveUrl('~/wm.aspx/') + method,
data: { selectedId : veriler},
dataType: 'html',
success: function (msg) {
$(toCombo).find('option').remove().end().append(msg.d);
$(toCombo).trigger("change");
},
error: function (msg, x, error) {
alert("Hata Oluştu." + error);
}
});
}
函数GetCombo(fromCombo,toCombo,method){
变量veriler={
选择edid:$(fromCombo).val()
};
$(toCombo.find('option').remove().end().append(“Yükleniyor…”);
$.ajax({
类型:“POST”,
url:ResolveUrl(“~/wm.aspx/”)+方法,
数据:{selectedId:veriler},
数据类型:“html”,
成功:功能(msg){
$(toCombo.find('option').remove().end().append(msg.d);
$(toCombo)。触发器(“更改”);
},
错误:函数(消息,x,错误){
警报(“Hata Oluştu.”+错误);
}
});
}
您可能需要确保添加了必要的web.config条目,特别是httpModules部分。请仔细阅读为什么要使用
数据类型:“json”
?返回时,数据类型为HTML。