我正在研究jQuery移动控件。我在主页面中有一个jqgrid,点击选定的行ID我将重定向到另一个带有id的页面。在那个页面中,我有一个与json绑定的下拉列表。绑定后我想点击一个按钮将数据保存到数据库。
问题是按钮点击事件没有触发,但是,当我自己运行特定的aspx时,按钮点击事件会触发。
<a href="#" data-role="button" data-inline="true" id="btnsave" data-transition="fade"
data-theme="b" data-icon="check" data-iconpos="right" runat="server"
onserverclick="btnsave_click" >Save</a>
答案 0 :(得分:0)
尝试将data-ajax="false"
添加到您的链接中。
例如
<a href="#" data-role="button" data-ajax="false" data-inline="true" id="btnsave"
data-transition="fade" data-theme="b" data-icon="check" data-iconpos="right"
runat="server" onserverclick="btnsave_click" >Save</a>
现在通过default解释,当您链接到jQuery Mobile中的页面时,JQM通过ajax拉入该页面并将其附加到当前页面的DOM。当JQM通过ajax拉入页面时,它只会引入data-role="page"
并且不加载可能位于<head>
或页面上其他位置的任何资源。
从您的问题和标记中听起来您使用的是asp.net,而不再看到您的标记/代码我很确定您的问题是您没有链接页面的必要代码你的母版页。
通常要解决此问题,您可以将唯一内容放在链接页面的data=role="page"
div中,或者在调用页面时确保页面已完全加载,即没有ajax。在你的情况下,因为看起来你试图调用服务器方法,创建回发的代码可能在你的第二页的div之外,在这种情况下你需要加载没有ajax的页面,你可以做到的最简单的方法是将data-ajax="false"
添加到您的链接。