【发布时间】:2013-10-01 14:07:10
【问题描述】:
带有 UpdatePanel 和 UserControl 的 VS2010 页面。该页面是具有 > 10 个条件的大型表的搜索实用程序。 UpdatePanel 接收搜索结果。 UserControl 是页面的新增功能。
假设该页面查找拥有音乐 CD 的用户。以前,每个人都有一个与其 ID 相关联的流派,这是 1-1 的关系。数据库已更新以支持多对多,因此用户控件可以在搜索时实现多种类型的选择。
基本上,而之前你只能找到喜欢重金属的人。您现在可以找到喜欢重金属和朋克 (AND ...) 的人
用户控件将 html 表格发送回页面,并且 jQuery 通过更改 CSS 类来响应 keyup(),以便在用户单击可见选项时,可能的选项是不可见的、可见的或固定的。
所以我有这个:
<tr class='genre_hidden'><td>Jazz-Bebop</td></tr>
<tr class='genre_hidden'><td>Jazz-Trad</td></tr>
<tr class='genre_hidden'><td>Jazz-Dixie</td></tr>
<tr class='genre_pinned'><td>Punk</td></tr>
<tr class='genre_pinned'><td>Heavy Metal</td></tr>
<tr class='genre_visible'><td>Classic Rock</td></tr>
触发器的处理程序调用 sproc,我已将其更改为接受所选流派的表值参数。我需要一种将这些流派从$('.genre_pinned') 获取到处理程序的方法,这样我就可以构建DataTable 以传递给存储过程。
干杯, .pd.
我的工作:
- handle click event of Search button in UpdatePanel
-- in this function, fire an ajax request to a webmethod on the main page
-- webmethod generates key for session and
-- ajax success copies key to a server hidden input
-- preventdefault not called so normal button action occurs
- button click handler on server side
-- retrieve key from hidden control
-- convert list to datatable fitting table value parameter type
-- add datatable to params and call sproc
我是否违反任何规则/有更好的方法吗?
【问题讨论】:
-
选择你想要的,从中提取值,然后发送它们......你到底尝试了什么?向我们提供您如何尝试自己解决此问题的示例可能有助于我们更好地了解您要完成的工作。
-
您的 ajax 请求是否设置为
async: false?否则,普通按钮处理程序将在 ajax 完成之前和隐藏输入更新之前返回 true。 -
这解释了为什么它只在我通过它而不是没有断点时才有效:) 谢谢。
-
这是我建议使用
async: false的极少数情况之一。
标签: jquery json triggers updatepanel partial-postback