2016-12-22 6 views
1

Я создал для отображения списка. Левый список содержит элементы списка, а в правом списке ничего нет на стороне сервера.Какой объект я могу передать в JSON в asp.net?

<div class="row" style="padding-top:10px;"> 
    <div class="col-lg-3"> 
     <asp:ListBox ID="lstLeft" class="form-control" runat="server" SelectionMode="Multiple" Height="220px"> 
     <asp:ListItem Value="transactions.storeid as StoreID">StoreID</asp:ListItem> 
     <asp:ListItem Value="YEAR(transactions.Time) Year">Year</asp:ListItem> 
     <asp:ListItem Value="MONTH(transactions.Time) Month">Month</asp:ListItem> 
     <asp:ListItem Value="transactionsEntry.TransactionNumber">TransactionNumber</asp:ListItem> 
     <asp:ListItem Value="transactionsEntry.Quantity">Quantity</asp:ListItem> 
     <asp:ListItem Value="items.ItemLookupCode">ItemLookupCode</asp:ListItem> 
     <asp:ListItem Value="CONVERT(varchar, CAST(transactionsEntry.Price AS money), 1)*transactionsEntry.Quantity ExtendedPrice">ExtendedPrice</asp:ListItem> 
     <asp:ListItem Value="departments.Name as DepartmentName">DepartmentName</asp:ListItem> 
     <asp:ListItem Value="categories.Name as CategoryName">CategoryName</asp:ListItem> 
     <asp:ListItem Value="items.SubDescription1">SubDescription1</asp:ListItem> 
     <asp:ListItem Value="suppliers.SupplierName">SupplierName</asp:ListItem> 
     <asp:ListItem Value="suppliers.Code">Code</asp:ListItem> 
     </asp:ListBox> 
    </div> 
    <div class="col-lg-1"> 
     <input type="button" id="left" value="<<" /> 
     <input type="button" id="right" value=">>" /> 
    </div> 
     <div class="col-lg-3"> 
     <asp:ListBox ID="lstRight" runat="server" SelectionMode="Multiple" Width="100%" Height="220"></asp:ListBox> 
    </div> 
</div> 

Во время выполнения я двигаюсь список элементов из левого списка в правом списке, нажав кнопку с помощью Jquery.

$(function() { 

      $("#left").bind("click", function() { 
       var options = $("[id*=lstRight] option:selected"); 
       for (var i = 0; i < options.length; i++) { 
        var opt = $(options[i]).clone(); 
        $(options[i]).remove(); 
        $("[id*=lstLeft]").append(opt); 
       } 
      }); 
      $("#right").bind("click", function() { 
       var options = $("[id*=lstLeft] option:selected"); 

       for (var i = 0; i < options.length; i++) { 
        var opt = $(options[i]).clone(); 

        $(options[i]).remove(); 
        $("[id*=lstRight]").append(opt); 
       } 

      }); 

Теперь я хочу добавить элементы списка, которые перемещаются в Right ListBox с использованием JSON. Итак, я хочу создать одну переменную map в jquery и передать эту переменную в JSON, а затем Добавить эти значения в правый список на стороне сервера.

Здесь я попытался получить весь текст и значения и поместить его в одну переменную. Но я не понимаю, как он работает, и какую переменную я должен передать в json.

var options = $('#lstRight option'); 
var values = $.map(options, function (option) { 
    alert("Text = " + option.text + " Value = " + option.value); 
    //alert("Values =" + values); 
}); 

Когда я пытаюсь это один alert("Values =" + values); я получаю не определено. Так какая переменная я должна пройти в формате JSON

благодаря

+0

@ Div все тот же вне 'неопределенный'. 'var options = $ ('# lstRight option'); var values ​​= $ .map (опции, функция (опция) { // alert ("Text =" + option.text + "Value =" + option.value); alert ("Значения =" + JSON.stringify (значения)); }); ' –

ответ

0

Используйте следующий код, чтобы получить значение и текст ListBox.

//Define javascript array 

var arr = new Array; 

$("#lstRight > option").each(function() { 
     arr.push({ "Text" : $(this).text() , "Value" : $(this).val() }); 
}); 

//convert this array into json using JSON.stringify function 

JSON.stringify(arr); 

также проверить идентификатор стороны клиента в asp.net Элемент управления Listbox при визуализации в браузере.

+0

Я думаю, вы не понимаете мой вопрос. У меня уже есть значения и текст. Я хочу сохранить весь текст и значения в одном массиве (ключи, значения). а затем я хочу передать этот массив json и добавить эти ключи и значения в нужные элементы списка на стороне сервера. Понимаю? –