Як фарматаваць дадзеныя AJAX для SelectList ў WebForms?

Я засяляць SelectList ж/дадзеных, які вяртаецца з выкліку AJAX. Тым не менш, дадзеныя адлюстроўваецца як адзін элемент ж/вельмі доўгае імя замест некалькіх дзесяткаў элементаў ж/кароткія імёны. Я атрымліваю «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) {
        $("
0
Вы на самой справе не вяртаюцца JSON або HTML з GetItems . <�Код> дадзеныя толькі адна доўгая радок, і з гэтай адной доўгай радком, вы толькі стварыць адзін <�параметр> з той доўгай радком у якасці значэння. HTML-рэндэрынг затым ператварае ў новай радок прабелаў.
дададзена аўтар millimoose, крыніца

2 адказы

Вы не вяртаецеся JSON, вы проста вяртаеце радок. Але гэта нармальна. Проста падзяліць радок і перабіраць атрыманы масіў.

success: function (data) {
    $.each (data.split("\n"), function() {
        $("
2
дададзена

Вы можаце вярнуць аб'ект як масіў замест радка? Я думаю, што новыя радкі ігнаруюцца ў Ajax. Вы можаце зрабіць $. Кожны (дадзеныя) , калі яны захоўваюцца ў аб'екце масіва, які з'яўляецца тое, што я думаю, што вы спрабуеце зрабіць

1
дададзена