【问题标题】:Populate jQuery modal dialog form填充 jQuery 模式对话框表单
【发布时间】:2010-11-30 21:46:35
【问题描述】:

我有一个包含网格视图的应用程序。当用户从 gridview 中选择一个项目时,我希望能够显示一个 jQuery 对话框,其中包含一个表单,其中包含来自 gridview 所选项目的一些预填充信息。现在我有一个带有一些 html 文本框的 div,这些文本框设置为模式对话框。用户点击它,所选项目的 ID 很容易检索。当我想进入数据库,获取一些详细信息,然后在向用户显示对话框之前预先填写一些文本框和其他元素时,问题就出现了。

一个简单的比较是让用户单击一个项目,以便他们可以提交一个表单以处理已填写的选择中的一些项目。我想知道最简单的方法是什么。现在我有它,以便从 gridview 中选择一个项目使用 jQuery 将带有 ID 的 Ajax 发布到代码后面的 [WebMethod] 中,然后它可以离开数据库并获取记录的所有详细信息。问题是由于显而易见的原因,WebMethod 不能神奇地填写表单的字段。我可以将所有信息发回给 ajax 查询来填写,但这也让人感觉很混乱,因为我发回的随机数据和它们所属的字段之间没有真正的强联系。

其中很多都在大声思考,但我真的很想更好地了解如何在 ASP.NET 中使用 jQuery 和 Ajax。

感谢您的帮助和意见。

【问题讨论】:

    标签: asp.net jquery ajax webforms


    【解决方案1】:

    在gridview按钮上添加一个属性:

      btn.Attributes.Add("onclick","ShowDialog();");
    

    客户端脚本

     function ShowDialog(){
          //setup the dialog
    $('#dialog).setup(function(){
       ......,
       buttons: "OK", function(){
         //save by calling btn2.click() where btn2 is a hidden button that handles save logic in server side
    });
    });
          $('#dialog').show();
        return false;
        });
    

    【讨论】:

    • 问题不在于对话框的显示,而是用一个表单填充对话框,该表单具有从数据库调用中填充的一些元素。我想知道是否有一种很好的方法来填写表单的这些元素,而不是在 ajax 调用上创建表单的 html。
    • 是的,实际上对话框显示了 html,因此您可以做的是有一个隐藏的 div,其中包含您的表单和服务器控件。您填写服务器端的字段,然后使用对话框显示 div。
    • 这个解决方案的问题是服务器控件必须在初始页面加载后检索信息。该页面加载了一个gridview,用户在其中选择一个,这将启动模态对话框。当控件隐藏在页面上的一个div中时填写信息服务器端是在点击gridview时不能用服务器端编程动态填写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多