加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.Net – 在jQuery填充列表后没有回发的项目

发布时间:2020-12-16 06:36:22 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.Net ListBox,我试图通过jQuery填充,使用以下代码片段: $("#MyList_btnAddAll").click(function(e) { e.preventDefault(); $('#MyList_lstAll option').appendTo('#MyList_lstSelected');}); 代码实际上有两个ListBox,一个是“source”,另一个是
我有一个ASP.Net ListBox,我试图通过jQuery填充,使用以下代码片段:

$("#MyList_btnAddAll").click(function(e) {
    e.preventDefault();
    $('#MyList_lstAll option').appendTo('#MyList_lstSelected');
});

代码实际上有两个ListBox,一个是“source”,另一个是“destination”.如上所述,ListBox是MyList_lstAll和MyList_lstSelected.正如您所期望的那样,它们在浏览器中呈现为元素.

jQuery工作得很好,项目从一个ListBox移动到另一个,DOM更新但是当我发布我的页面时,回发并不表示对ListBox的任何更改.我知道有一些涉及jQuery和ASP.Net回发的问题,但是有人可以指导我一些可能发生的事情以及如何让它工作吗?

[编辑]

根据要求,这里有更多的ASP.Net和HTML结果.下面是包含它们的ascx控件中的ListBox和按钮声明:

<GLP:ListBox ID="lstAll" CssClass="LIST_BOX_MEDIUM" runat="server" SelectionMode="Multiple"/>

<asp:LinkButton ID="lnkAddAll2" CssClass="LIST_SELECT" runat="server" OnClick="btnAddAll_Click"/>

<GLP:ListBox ID="lstSelected" CssClass="LIST_BOX_MEDIUM" runat="server" SelectionMode="Multiple"/>

结果HTML:

<select class="LIST_BOX_MEDIUM" id="MyList_lstAll" multiple="multiple" name="MyList:lstAll" size="4">
 <option value="641">Item1</option><option value="598">Item2</option>
</select>

<input type="submit" class="BUTTON_SMALL_N0_IMAGE" id="MyList_btnAddAll" value="Add All" name="MyList:btnAddAll" style="color: rgb(0,0);">

<select class="LIST_BOX_MEDIUM" id="MyList_lstSelected" multiple="multiple" name="MyList:lstSelected" size="4">
 <option value="642">Item3</option><option value="599">Item4</option>
</select>

我知道jQuery / ListBox项目修改没有反映在ViewState中,但由于它们在发布页面时位于DOM中,它们是否会包含在回发数据中,然后被各自的控件拾取?

解决方法

我想你需要直接从请求获取seletcted item列表,而不是来自asp.net控件属性,如下所示:

string results = Request.Form[list_box.UniqueID];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读