【问题标题】:Doing post back on an ajax toolkit modal popup extender在 ajax 工具包模式弹出扩展器上回发
【发布时间】:2012-08-01 10:01:51
【问题描述】:

我使用 Ajax Toolkit 模式弹出扩展器来弹出一个表单,用于从用户那里收集信息。我打算将从用户收集的数据发送到后面的代码,以便在单击该表单上的提交按钮时保存到数据库中。然而,我发现提交按钮根本没有回发到保护程序。

我不想使用任何客户端编码或网络服务。

是否可以在模态弹出窗口上进行回发?

【问题讨论】:

  • 通常这种情况下的问题是模态弹窗是在表单之外自动生成的,所以输入控件不会触发表单。
  • '我发现'我知道你是怎么发现的吗?你有什么错误吗?
  • @Ishan:我在后面的代码中为提交按钮的点击事件处理程序添加了断点。单击按钮后,没有调用服务器端代码。事实上,根本没有回帖。

标签: c# asp.net modal-popup


【解决方案1】:

您的问题有两种解决方案:

  1. 在 div 中使用 asp:button 创建表单,最初将其设置为不显示。在弹出窗口时,只需让它可见,您可以根据需要设置它的位置。然后点击提交按钮后,它将正常运行并重定向您的页面。

  2. 它是通过使用 jQuery 和 Ajax。创建一个 html 表单并在提交时调用一个 JavaScript 函数 JavaScript 函数:-

     function on_submit(){
        var pageUrl = 'your_page_name.aspx'
         $.ajax({
           type: "POST",
           url: pageUrl + "/your_web_method",
           data: '{data1:value1, data2:value2}',
           contentType: "application/json; charset=utf-8",
           dataType: "json",
           success: function(msg) {
                    make your success code here
              }
        });
    
      in C# 
        [WebMethod]
        public static void your_web_method(data1, data2)
        {
            // your code to store value in database
        }
    

【讨论】:

  • 谢谢你。如果我选择选项一,就没有办法让它成为模态的。
  • 我急需您的帮助。如果我要将输入的文本传递到文本框中,我如何获取文本。在您的示例中,您使用了 data1:value1。我想从文本框中获取值。
  • 使用 $('#id_of_your_text_box').val() 从文本框获取价值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多