2011-03-01 69 views
1

我使用两个列表框将项目从一个移动到另一个使用jQuery。对于这两个列表框,自动回发设置为false。 有没有办法在回发中访问项目服务器端?ASP.NET访问客户端更新回发

谢谢

回答

1

这是可以使用WebMethods。见Matt Berseth的this

0

如果您的客户端移动项目,当回发时您将看不到列表框的更新,因为控件将在回发期间使用原始视图状态(页面加载时的值)。您最好的选择是将列表框的项目保存到您回发页面时可以阅读的隐藏字段中。如果你只是想要选择的项目,你可以通过使用“Request.Form [listbox.ClientID]”得到这个。

关于同一主题的其他职位:

Problem getting list box items added through jquery in code behind

Asp.Net ListBox and JQuery

-1

如果我理解你正确的ASPX页面看起来像:

<form id="form1" runat="server"> 
    ... 
    <asp:ListBox ID="listbox1" runat="server"> 
    ... 
    </asp:ListBox> 
    ... 
    <asp:ListBox ID="listbox2" runat="server"> 
    ... 
    </asp:ListBox> 
    ... 
</form> 

您应该能够访问只需通过在代码b中访问服务器端控件上的属性即可获得控件的值ehind类:

例如,如果你的列表框只允许选择单个项目(SelectionMode = ListSelectionMode.Single):

// in ASP.NET code-behind 
if (listbox1.SelectedIndex > -1) 
{ 
    string value1 = listbox1.SelectedItem.Value; 
} 

或者,你的列表框允许选择多个项目(SelectionMode = ListSelectionMode.Multiple):

// in ASP.NET code-behind 
foreach (ListItem item in listbox1.Items) 
{ 
    if (item.Selected) 
    { 
     // do something with selected item 
    } 
} 
+0

运算提到他使用添加项目jQuery和希望在服务器端读取它们,你的建议,因为服务器端将不利于将读取列表框的视图状态,因而不会访问添加的项目b y jquery – 2013-09-16 08:26:01