GridView弹出新页面/弹出制定大小位置新窗口?

来源:互联网 发布:江汉大学网络 编辑:程序博客网 时间:2024/04/28 18:48

方案一:简单的方法,新窗口不固定大小
<asp:HyperLinkField HeaderText="姓名" Text="姓名" DataNavigateUrlFields="姓名" DataNavigateUrlFormatString="Default6.aspx?GoodsID={0}" Target="mainframe" NavigateUrl="~/Default6.aspx" DataTextField="姓名" >
</asp:HyperLinkField>
方案二:精确控制弹出窗口大小位置
<asp:HyperLinkColumn DataNavigateUrlField="EmployeeID" DataNavigateUrlFormatString="javascript:varwin=window.open('detail.aspx?ID={0}',null,'width=300,height=200');window.Close();"
DataTextField="LastName" HeaderText="LastName">
</asp:HyperLinkColumn>

 

 

 

一、用 <asp:HypeLinkField />

我试了很久不能成功,主要存在的问题是:HypeLink是服务控件,那它没有onclick事件。

但是肯定是可以实现的,非常麻烦我就不专研了。

网上的代码是这样的我没测试过:

   <asp:HyperLinkField HeaderText="添加信息"  />
         
<%-- GridView中第六列--%>
<asp:HyperLinkField HeaderText="看明细" />
<%-- GridView中第七列--%>

 

 protected void gv****_RowDataBound(object sender, GridViewRowEventArgs e)
    
{
        
if (e.Row.RowType == DataControlRowType.DataRow)
        
{
            
string JS = "*****Add.aspx?id=" + e.Row.Cells[7].Text.ToString() + "&type=" + e.Row.Cells[4].Text.ToString();// +"&name=" + e.Row.Cells[1].Text.ToString() + "&code=" + (e.Row.Cells[0].Controls[0] as HyperLinkField).Text.ToString();
            e.Row.Cells[5].Text = "<a href=/"javascript:/" onclick=/"javascript:var *****Add = window.open('" + JS + "','添加','top=150,left=200,toolbar=no, menubar=no,scrollbars=yes, resizable=no, location=no, 

status=no, width=600,height=300');addBuyAccount.focus(0); /">添加信息</a>";
            e.Row.Cells[
6].Text = "<a href=/"javascript:/" onclick=/"javascript:var *****List= window.open('*****List.aspx?id=" + e.Row.Cells[7].Text.ToString() + "','查看','top=150,left=50,toolbar=no, menubar=no,scrollbars=yes, resizable=no, location=no, 

status=no, width=850,height=400');payAccountList.focus(0);/">查看明细</a>";
        }

    }

看样子是没问题的。

 另外一种简单的方法:

二、只好使用模板

<asp:TemplateField HeaderText="标题">
         <ItemTemplate>
             <a href="#" onclick="window.location.reload();window.open('MsgShow.aspx?id=<%# Eval("N_ID") %>','','location=0,menubar=0')"><%# LengthTo30(Eval("N_Title").ToString()) %></a>
           </ItemTemplate>
 </asp:TemplateField>  

原创粉丝点击