Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在WebForms中为SelectList格式化AJAX数据?_Javascript_Ajax_Webforms_Selectlist - Fatal编程技术网

Javascript 如何在WebForms中为SelectList格式化AJAX数据?

Javascript 如何在WebForms中为SelectList格式化AJAX数据?,javascript,ajax,webforms,selectlist,Javascript,Ajax,Webforms,Selectlist,我正在填充一个SelectList,其中包含AJAX调用返回的数据。但是,数据显示为一个项目(包含很长的名称),而不是几十个项目(包含很短的名称)。我得到的是“ABC DEF GHI JKL MNO”,而不是“ABC”、“DEF”、“GHI”等。因此,我的选择列表只附带了一个长名称的项目 如果我在调试器中查看返回的数据,我可以根据需要在单独的行中看到短值 我尝试使用“html”而不是“json”作为返回类型,但没有效果 以下是我的服务器端代码: private void GetItems(Htt

我正在填充一个SelectList,其中包含AJAX调用返回的数据。但是,数据显示为一个项目(包含很长的名称),而不是几十个项目(包含很短的名称)。我得到的是“ABC DEF GHI JKL MNO”,而不是“ABC”、“DEF”、“GHI”等。因此,我的选择列表只附带了一个长名称的项目

如果我在调试器中查看返回的数据,我可以根据需要在单独的行中看到短值

我尝试使用“html”而不是“json”作为返回类型,但没有效果

以下是我的服务器端代码:

private void GetItems(HttpContext context, int myID) 
{
    DataTable datatable = GetMyItems(myID);

    foreach (DataRow myRow in datatable.Rows)
    {
        Response.Write(myRow["ColumnName"].ToString() + Environment.NewLine);
    }
    Response.End();
}
还有javascript

$.ajax({
    url: "../myAjaxPage.aspx?myID=" + myID,
    type: 'POST',
    datatype: 'json',

    success: function (data) {
        $("<option>").attr("value", data).text(data).appendTo("#<%= mySelectList.ClientID %>");
    }
});
$.ajax({
url:“../myAjaxPage.aspx?myID=“+myID,
键入:“POST”,
数据类型:“json”,
成功:功能(数据){
$(“”).attr(“值”,数据).text(数据).appendTo(“#”);
}
});

能否将对象作为数组而不是字符串返回?我认为在ajax中,新行被忽略了。您可以执行
$。如果每个(数据)
都存储在一个数组对象中,这就是我认为您正在尝试执行的操作

您可以将对象作为数组而不是字符串返回吗?我认为在ajax中,新行被忽略了。您可以执行
$。如果每个(数据)
都存储在一个数组对象中,这就是我认为您正在尝试执行的操作

您没有返回JSON,您只是返回一个字符串。但是,那很好。只需拆分字符串并迭代生成的数组

success: function (data) {
    $.each (data.split("\n"), function () {
        $("<option>").attr("value", this).text(this).appendTo("#<%= mySelectList.ClientID %>");
    });
});
成功:函数(数据){
$.each(data.split(“\n”),函数(){
$(“”).attr(“value”,this).text(this).appendTo(“#”);
});
});

您没有返回JSON,您只是返回一个字符串。但是,那很好。只需拆分字符串并迭代生成的数组

success: function (data) {
    $.each (data.split("\n"), function () {
        $("<option>").attr("value", this).text(this).appendTo("#<%= mySelectList.ClientID %>");
    });
});
成功:函数(数据){
$.each(data.split(“\n”),函数(){
$(“”).attr(“value”,this).text(this).appendTo(“#”);
});
});

您并不是真正从
GetItems
返回JSON或HTML<代码>数据只是一个长字符串,有了这个长字符串,您只能创建一个值为该长字符串的字符串。HTML呈现然后将换行符转换为空格。您并不是真正从
GetItems
返回JSON或HTML<代码>数据只是一个长字符串,有了这个长字符串,您只能创建一个值为该长字符串的字符串。然后,HTML呈现将换行符转换为空格。