【问题标题】:Open an aspx page as a modal popup on button click from another aspx page打开一个 aspx 页面作为从另一个 aspx 页面单击按钮时的模式弹出窗口
【发布时间】:2016-09-12 23:39:59
【问题描述】:

我有两个网页 Home.aspx 和 Details.aspx。 在 Home.aspx 中,我有一个内容很少的表格,其中一列是链接按钮。单击此按钮时,我使用Response.Redirect("Details.aspx") 将页面定向到Details.aspx,并使用commandArgument 传递一些值

<td><asp:LinkButton ID="LinkButton1" 
                            runat="server" 
                            Text='<% # Eval("Count") %>' 
                            CausesValidation="false"
                            commandArgument='<%#Eval("title")+","+ Eval("Count") %>'
                            OnCommand="LinkButton1_Click"/>
                    </td>

protected void LinkButton1_Click(object sender, CommandEventArgs e)
        {
            string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
            string title = commandArgs[0];
            Session["title"] = title;
            string count= commandArgs[1];

            Response.Redirect(string.Format("Details.aspx?title={0}&count={1}", title, count), false);

        }

在 Details.aspx 中,在页面加载时,使用这些会话详细信息,我执行了一些操作,该操作为我提供了一个值列表,并使用这些值生成 repeater

Details.aspx 页面:

    protected void Page_Load(object sender, EventArgs e)
            {

                string conTitle = (string) Session["title"];

                List <string> myTitleList = (List<string>) Session["docTitles"];
                List<List<string>> myTitleContentList = (List<List<string>>)Session["content"];

                int i = myTitleList.IndexOf(conTitle); 
                try
                {
                    List<string> displayList = myTitleContentList[i];
                    cdcatalog.DataSource = displayList;
                    cdcatalog.DataBind();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message.ToString());
                }
            }

现在我想在模态弹出窗口而不是 Response.Redirect 上执行所有这些操作。 是否可以在单击按钮时将 aspx 页面加载为模式弹出窗口。

【问题讨论】:

  • 更改您的 response.redirect 以调用打开一个新窗口对话框的 javascript 函数。
  • 但我的建议是为 asp.net 使用 ajaxtoolkit。 ajaxcontroltoolkit.com/ModalPopup/ModalPopup.aspx
  • @Dr.Stitch 如果我使用ajax工具包,我应该在哪里写Details.aspx页面的页面加载内容。因为我看到几个例子,他们只是使用一个面板在其中显示一个标签。但是没有做一些操作的例子。你能帮我解决这个问题吗?

标签: c# asp.net modalpopup


【解决方案1】:
  1. 您可以使用来自 Ajax Control Toolkit 的 ModalPopUp

ModalPopup 扩展器允许页面向用户显示内容 以“模态”方式阻止用户与 页面的其余部分。模态内容可以是任何层次的控件 并显示在可以具有自定义样式的背景上方 应用到它。

  1. 您可以将内容放在一个 div 中,然后使用 Jquery 打开弹出窗口。

使用模式对话框要求用户在 多步骤过程。在内容区域嵌入表单标记,设置 modal 选项为 true,并指定主要和次要用户操作 使用按钮选项。

【讨论】:

  • 如果我使用ajax工具包,Details.aspx页面的页面加载内容应该写在哪里。因为我看到几个例子,他们只是使用一个面板在其中显示一个标签。但是没有做一些操作的例子。你能帮我解决这个问题吗?
  • 您可以将Details页面转换为用户控件,然后访问它。
  • 任何将代码更改为用户控件的示例/教程?
  • 工具包链接失效
猜你喜欢
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 2014-09-04
  • 1970-01-01
  • 2014-03-07
  • 2014-08-29
  • 2012-02-09
  • 1970-01-01
相关资源
最近更新 更多