Сохранение значений в поле выбрать несколько

#c# #javascript #asp.net #html #vb.net

#c# #javascript #asp.net #HTML #vb.net

Вопрос:

У меня есть функция javascript ниже, чтобы перейти из поля выбора нескольких элементов A, которое заполняется из базы данных, в другое поле выбора нескольких элементов B, в случае обратной передачи мои значения в B, которые были перенесены из A, были потеряны. Изначально я думал, потому что я включил тег «runat =»server»» для действий на стороне сервера, но, видимо, это не так. Я читал о Form.Request, но понятия не имею, как это сделать. Мне просто нужно сохранить эти значения в поле множественного выбора B. Пожалуйста, любезно посоветуйте. Спасибо.

<% — Перемещение элементов в поле выбора и обратно -%>

 function move(sourceFrom, sourceTo) {
    var arrFrom = new Array();
    var arrTo = new Array();
    var arrLU = new Array();
    var i;
    for (i = 0; i < sourceTo.options.length; i  ) {
        arrLU[sourceTo.options[i].text] = sourceTo.options[i].value;
        arrTo[i] = sourceTo.options[i].text;
    }
    var fLength = 0;
    var tLength = arrTo.length;
    for (i = 0; i < sourceFrom.options.length; i  ) {
        arrLU[sourceFrom.options[i].text] = sourceFrom.options[i].value;
        if (sourceFrom.options[i].selected amp;amp; sourceFrom.options[i].value != "") {
            arrTo[tLength] = sourceFrom.options[i].text;
            tLength  ;
        } else {
            arrFrom[fLength] = sourceFrom.options[i].text;
            fLength  ;
        }
    }

    sourceFrom.length = 0;
    sourceTo.length = 0;

    var ii;
    for (ii = 0; ii < arrFrom.length; ii  ) {
        var no = new Option();
        no.value = arrLU[arrFrom[ii]];
        no.text = arrFrom[ii];
        sourceFrom[ii] = no;
    }

    for (ii = 0; ii < arrTo.length; ii  ) {
        var no = new Option();
        no.value = arrLU[arrTo[ii]];
        no.text = arrTo[ii];
        sourceTo[ii] = no;
    }

    (sourceTo).focus();

    if (sourceTo == (document.getElementById('<%= outletFromBox.ClientID%>'))) {
        (sourceFrom).focus();
    }
    if (sourceTo == (document.getElementById('<%= QualMemTypeFromBox.ClientID %>'))) {
        (sourceFrom).focus();
    }
    if (sourceTo == (document.getElementById('MemStatusFromBox'))) {
        (sourceFrom).focus();
    }
}  
<select multiple size="8" style="width: 135px" runat="server" onblur="selectAll(this, true, document.getElementById('<%#uilblDestinationQualOutlet.ClientID%>'))"
                                        id="outletToBox">
                                    </select>
 

Ответ №1:

Изменения в списке на стороне клиента не сохраняются на стороне сервера, поэтому любые внесенные изменения будут потеряны, если произойдет обратная передача; проверьте эту ссылку, чтобы узнать, как вы можете с этим справиться:

http://www.vijaykodali.com/Blog/post/2007/12/14/Add-Delete-Items-in-DropDownList2c-ListBox-using-Javascript.aspx

Если у вас возникли проблемы с этим решением, дайте мне знать и опубликуйте код страницы aspx … мы можем составить решение для вашего конкретного случая.