【问题标题】:Create new pop up window in ASP.NET from server side从服务器端在 ASP.NET 中创建新的弹出窗口
【发布时间】:2017-07-19 18:42:25
【问题描述】:

单击按钮时,我需要从数据库中检索 HTML 的值(在 C# 代码中保存为字符串对象)并创建一个新的弹出窗口并渲染 HTML 值以从服务器端弹出。

你能帮我看看我该怎么做吗?

【问题讨论】:

  • 点击按钮时,通过ajax访问服务器,获取弹出数据,创建新的弹出窗口客户端,使用服务器ajax调用的结果填充它

标签: c# html asp.net webforms


【解决方案1】:

有很多方法可以实现它。

您可以使用 jquery 打开 iframe 模式窗口。服务器端添加一个带有占位符控件的 aspx 页面。在该页面的 PageLoad 事件中,从数据库中读取 html 内容,并使用您刚刚从数据库中读取的字符串设置文字控件的文本属性,然后将文字添加到占位符

Literal literal = new Literal();
literal.text = myHtml // html read from database       
MyPlaceholder.Controls.Add(literal);

在您要打开模态的页面中添加以下代码并将 iframe 源设置为您刚刚创建的页面

<div id="dialog">
    <iframe id="myIframe" src=""></iframe>
</div>
<button id="dialogBtn">Open Dialog</button>


$("#dialog").dialog({
autoOpen: false,
modal: true,
height: 600,
open: function(ev, ui){
         $('#myIframe').attr('src','http://www.example.com/mypage.aspx')
      }
});

$('#dialogBtn').click(function(){
$('#dialog').dialog('open');
});

【讨论】:

  • 谢谢你的建议。我在新的 aspx 中有一个占位符并像 . string data = "
    ......
    " 在普通弹出窗口上添加一个 div,例如
    然后使用 control.InnterHtml =数据;
【解决方案2】:

我可以使用答案 1 中描述的新 aspx 页面来完成此操作,但不必使用 jquery。我只是把它放到我调用它的 aspx 页面中:

&lt;a href="http://www.example.com/mypage.aspx'" onclick="window.open('mypage.aspx','popup','width=450,height=500,toolbar=no,directories=no,location=no,menubar=no,scrollbars=yes,status=no,left=0,top=0'); return false"&gt;Info&lt;/a&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2021-10-07
    相关资源
    最近更新 更多