C# jQueryWebMethod调用返回整个页面html

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

我有一个网站www.arabadukkan.com 我在顶部有层叠的组合框(araçtürü->marka->model等)

我调用webmethod返回结果,但结果是整个页面的html。 这段代码在我的本地应用程序中非常有效 WebMethod代码:

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。