【发布时间】:2011-12-16 19:15:21
【问题描述】:
我正在填充一个带有从 AJAX 调用返回的数据的 SelectList。但是,数据显示为一个名称很长的项目,而不是几十个名称短的项目。我得到的是“ABC DEF GHI JKL MNO”而不是“ABC”、“DEF”、“GHI”等。所以,我的 SelectList 只附加了一个带有长名称的项目。
如果我在调试器中查看返回的数据,我可以根据需要看到短值显示在不同的行中。
我尝试使用“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 %>");
}
});
【问题讨论】:
-
您并没有真正从
GetItems返回 JSON 或 HTML。data只是一个长字符串,而使用该长字符串,您只需创建一个
标签: javascript ajax webforms selectlist