【问题标题】:Show aspx form as modal on button click在按钮单击时将 aspx 表单显示为模态
【发布时间】:2015-01-21 01:02:19
【问题描述】:

有没有一种方法可以在不使用 javascript 的情况下显示 aspx 表单?

asp 按钮中有这样的代码吗?

protected void btnLookUpPayment_Click(object sender, ImageClickEventArgs e)
    {
        webLookUpPayment wblp = new webLookUpPayment();
        wblp.ShowModalDialog();
    }

因为使用 javascript 弹出模式实际上不是我的选择,所以我的模式中有一个 gridview,单击该 gridview 中的一行后,我将以另一种形式填充另一个 gridview,我无法彻底解释它,因为它是令人困惑,只是想知道是否有一种方法可以在不使用任何 javascript 的情况下显示模式?

提前感谢你们的帮助!

【问题讨论】:

  • 您需要考虑到显示模式发生在在客户端,因此在服务器上运行的一些 C# 只会在客户端转换为 HTML、CSS 和 JS一天结束。您没有给出“不能使用 JavaScript”的正当理由。如果你有一个模态弹出窗口,你可能已经在运行 JavaScript。您可以通过 JavaScript 下载网页或通过 iframe 嵌入网页。
  • 使用 ASP.NET Ajax ModalPopupDialog 扩展器。这不是我喜欢的方式,但如果您绝对不能使用客户端代码,请看一下。
  • @mason 实际上我在弹出模式上使用了 javascript,请记住我的模式是另一个 aspx 网络表单。那里有一个gridview,如果我单击它的选定索引,gridview 中的值将填充我以前表单中的另一个gridview。你得到它还是它令人困惑?我不能使用 javascript,因为我正在从数据库中填充我的 gridview,而且我不知道如何在我的 javascript 中加载存储过程。
  • @eljon_i3 您正试图根据错误的前提规定对解决方案的限制。不,仅 JavaScript 无法访问您的数据库。但是 JavaScript 可以将AJAX 调用到您的服务器端,在那里您可以让ASP.NET Web API 以正确的信息响应。这通常被认为是一个很好的架构:它避免了创建新页面和经历整个生命周期的大量开销。

标签: c# asp.net webforms


【解决方案1】:

它将完美地工作。从后面的代码中弹出新的 .aspx

Response.Write("<script>window.open('About.aspx', 'hello',  'width=700,height=400,scrollbars=yes');</script>");

对于没有弹出的新窗口

ClientScript.RegisterStartupScript(this.GetType(), "OpenWindow", String.Format("<script>window.open('{0}');</script>", "About.aspx"));

如果有效,请将其标记为答案。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 2012-07-30
    • 2021-09-19
    • 2016-04-05
    相关资源
    最近更新 更多