Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
登录控件和jQuery 短版_Jquery_Asp.net - Fatal编程技术网

登录控件和jQuery 短版

登录控件和jQuery 短版,jquery,asp.net,Jquery,Asp.net,为什么ASP.NET登录控件(如ASP:ChangePassword和ASP:PasswordRecovery等)不能在内部工作 细节 我有一个GridView显示我的用户列表。在GridView中,我添加了一个模板字段,其中包含一个名为“更改密码”的超链接。除其他操作外,单击此链接将向页面添加以下脚本: ScriptManager.RegisterStartupScript(Me, Me.GetType(), "ShowChangePwd", "$(document).ready(functi

为什么ASP.NET登录控件(如
ASP:ChangePassword
ASP:PasswordRecovery
等)不能在内部工作

细节 我有一个
GridView
显示我的用户列表。在GridView中,我添加了一个
模板字段
,其中包含一个名为“更改密码”的超链接。除其他操作外,单击此链接将向页面添加以下脚本:

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "ShowChangePwd", "$(document).ready(function() { $(""#ChangePwdDialog"").dialog(""open""); });", True)
ChangePwdDialog
是一个
div
,其中包含
asp:ChangePassword
控件。当我运行项目并单击GridView中的Change按钮时,一切正常,ChangePassword div显示为一个对话框。但当我填写文本框(当前密码、新密码、确认密码)并单击“更改密码”按钮时,它似乎什么也没做。对话框只是保持打开状态


这是因为jQuery对话框以某种方式阻止了任何其他按钮的处理吗?如果是这样,我的前进方向是什么?

因为jQuery对话框在asp.net表单之外重新定位页面的给定部分


jQuery对话框已经包含了第二个表单标记,但是在asp.net上,我们限制页面内只有一个表单。

亚里士多德是正确的,但没有提供解决方法

您需要剪切(使用jQuery)模式对话框DOM节点,并将它们重新插入到主asp表单标记中

根据Phx注释,jQuery看起来像:

dlg.parent().appendTo(jQuery(“form:first”)

将此添加到
中:


$(函数(){
dlg.parent().appendTo(jQuery(“form:first”);
});

这是正确的。。。您可以通过从DOM中剪切对话框并将其重新插入主应用程序来解决此问题form@PaulSullivan我正在搜索
appendTo
和一个示例,但您更了解它…dlg.parent().appendTo(jQuery(“form:first”);只需将对话框添加到表单中。然后展示出来。你应该把这个作为答案贴出来。这是一个类似的问题,非常感谢。我对jQuery/ASP.NET世界还很陌生,还在学习。我把这个电话放在哪里?几乎任何地方。。。您应该将其放入onload处理程序
$(function(){//code in here})我将用完整代码段更新。再次感谢。这类作品;这意味着单击按钮现在会执行服务器端操作,但由于某些奇怪的原因,我无法再在对话框中单击。这就好像对话框进入了背景,而某个不可见的层位于最前端。键盘仍然可以工作,我可以通过文本框点击“更改密码”按钮。你需要使用z-index属性和/或使用css将其置于顶部。您可能还希望(而不是将其作为表单中的第一个/最后一个节点)在DOM中更好的位置创建容器。Regardsz指数没有任何好处。我在尝试不同的事情。有一件事我忘了提,我的
GridView
中有两个链接。一个用于“更改密码”,另一个用于“重置密码”。两者都有各自独立的
div
s。这可能是一个原因吗?
<script type='text/javascript'>
  $(function() {
    dlg.parent().appendTo(jQuery("form:first"));
  });
<script>