当我单击 asp.net gridview 中的按钮时,它将执行行命令,我必须编写代码以打开特定页面......如何做到这一点。
问问题
96 次
4 回答
0
您可以以编程方式创建 iframe 并将其添加到页面。如果您绝对定位它,它将出现在页面其他内容的顶部。
HTML:
<a href="javascript:void(0);" id="button">click me</a>
JavaScript:
var button = document.getElementById("button");
button.addEventListener("click", function() {
var frame = document.createElement("IFRAME");
var body = document.querySelector("body");
var width = 300;
var height = 200;
frame.setAttribute("src", "http://www.w3schools.com/tags/tag_iframe.asp");
frame.setAttribute("style", "position: absolute; top: 50%; left: 50%; margin-left: -" + (width/2) + "px; margin-top: -" + (height/2) + "px");
body.appendChild(frame);
});
这是一个 jsfiddle,展示了它是如何工作的http://jsfiddle.net/krasimir/LkcLX/1/
PS 请注意,您应该在 click 事件处理程序中设置宽度、高度和 url。
于 2013-08-27T09:59:25.377 回答
0
Got the answer here : How to open a page in a new tab in the rowcommand event of gridview?
String js = "window.open('Signature.aspx', '_blank');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Open Signature.aspx", js, true);
于 2013-08-28T09:43:11.100 回答
0
我相信您正在寻找 javascript 的window.open()
. 这是一个例子:
// from W3Schools
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.focus();
如果您想了解更多相关信息,请尝试W3Schools,其中包含您想知道的大部分信息。
请记住,这些额外的弹出窗口会极大地降低用户体验,尤其是在 Web 应用程序上,因此如果可能的话,您可能希望找到替代方案。
于 2013-08-27T09:52:04.807 回答
0
而不是使用警报框,我建议使用弹出窗口。
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(function() {
$( "#dialog" ).dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
$( "#opener" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
});
</script>
<div id="dialog" title="Basic dialog">
<iframe src="ShowDetails.aspx"></iframe>
</div>
<button id="opener">Open Dialog</button>
于 2013-08-27T09:53:32.663 回答