ASP.NET在回发时访问客户端更新

时间:2011-03-01 07:27:11

标签: jquery asp.net

我正在使用两个列表框,使用jquery将项目从一个移动到另一个。两个列表框的自动回发都设置为false。 有没有办法在回发时访问项目服务器端?

由于

3 个答案:

答案 0 :(得分:1)

使用WebMethods可行。见this作者Matt Berseth。

答案 1 :(得分:0)

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

关于同一主题的其他帖子:

Problem getting list box items added through jquery in code behind

Asp.Net ListBox and JQuery

答案 2 :(得分:-1)

如果我理解正确您的ASPX页面如下所示:

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

您应该能够通过访问代码隐藏类中服务器端控件的属性来访问控件的值:

例如,如果您的列表框仅允许选择单个项目(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
    }
}