姓名字段是在gridview中创建的TemplateField
 <asp:TemplateField ShowHeader="false" HeaderText="姓名" >
                        <ItemTemplate >
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false"  
                           CommandArgument='<%# Eval("ID") %>'   CommandName="姓名"  
  Text='<%# Eval("姓名")%>' Target="_blank"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>点击后打开新窗口,但新窗口的地址为却变为:
javascript:__doPostBack('ctl00$ContentPlaceHolder3$grid_1$ctl03$LinkButton1','')
而不是我正常时地址:
http://localhost:3711/Passageway/schoolgate/studentinfo.aspx?ID=1
如果我去掉上面的Target="_blank" 就正常了
但我现在想点击gridview中的连接后子页面在新窗口中打开
请问各位该如何解决! 非常感谢!!

解决方案 »

  1.   

    而且你的绑定也不对应该是
    NavigateUrl
      

  2.   

    http://www.google.com/search?hl=en&newwindow=1&q=LinkButton+HyperLink++NavigateUrl+%E7%BB%91%E5%AE%9A&aq=f&aqi=&aql=&oq=&gs_rfai=
      

  3.   

    hyperlink <asp:HyperLinkField HeadText="Name" DataNavigateUrlFields="ID"  
    DataNavigateUrlFormatString="a.aspx?id={0}" DataTextField="Name" >  
    </asp:HyperLinkField><a href="a.aspx?name=<%#  HttpUtility.UrlEncode(Eval("name").ToString()) %>" />
    string.Format( "javascript:var win=window.open('a.aspx?ID={0}','_blank','width=300,height=200')",id); 
     
      

  4.   

    在GridView编辑列中添加一个HyperLinkField,属性设置如下,你GridView中ID列的visiable设置为False。我写的URL也许有误,你稍做修改就好了。
    <asp:HyperLinkField DataNavigateUrlFields="ID"  DataNavigateUrlFormatString="Passageway/schoolgate/studentinfo.aspx?id={0}"
    DataTextField="ID" HeaderText="身份证号" NavigateUrl="~/Passageway/schoolgate/studentinfo.aspx"
    Text="详细" />