【发布时间】:2017-07-19 18:42:25
【问题描述】:
单击按钮时,我需要从数据库中检索 HTML 的值(在 C# 代码中保存为字符串对象)并创建一个新的弹出窗口并渲染 HTML 值以从服务器端弹出。
你能帮我看看我该怎么做吗?
【问题讨论】:
-
点击按钮时,通过ajax访问服务器,获取弹出数据,创建新的弹出窗口客户端,使用服务器ajax调用的结果填充它
单击按钮时,我需要从数据库中检索 HTML 的值(在 C# 代码中保存为字符串对象)并创建一个新的弹出窗口并渲染 HTML 值以从服务器端弹出。
你能帮我看看我该怎么做吗?
【问题讨论】:
有很多方法可以实现它。
您可以使用 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');
});
【讨论】:
我可以使用答案 1 中描述的新 aspx 页面来完成此操作,但不必使用 jquery。我只是把它放到我调用它的 aspx 页面中:
<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">Info</a>
【讨论】: