请问在datagrid_itemcommand事件中用window.open打开窗体,为什么窗体没有弹出而是直接跳转了
大家好,请问我在主页面A.aspx(该页面是由别的页面通过window.open弹出的窗体)的html页的datagrid中放了一个 <asp:ButtonColumn DataTextField= "TITLE " HeaderText= "文档名称 " CommandName= "View "> </asp:ButtonColumn>
后台在cs代码为
private void dgdDetails_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string cmd =e.CommandName;
if (cmd == "View ")
{
this.Response.Write( " <script language=javascript> window.open( '../b.aspx?ID= "+dgdDetails.DataKeys[e.Item.ItemIndex].ToString().Trim()+ " ',null); </script> ");
}
}
为什么窗体不是弹出来,而是直接由A.aspx跳转到b.aspx页面了,请问这是为什么.
------解决方案--------------------因为你的window.open是全局的。这里你应该在RowDataBind的时候就给每一个button注册客户端onclick的Attribute.用客户端打开,而不是postback.