可以考虑用一个弹出窗体实现
window.open

解决方案 »

  1.   

    弹出窗体:
    在ItemDataBound事件中:
    public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    String ContractName = DataBinder.Eval(e.Item.DataItem, "ContractName").ToString();
    String ContractID = DataBinder.Eval(e.Item.DataItem, "ContractID").ToString();
    e.Item.Style["cursor"] = "hand";
    e.Item.ToolTip = ContractName;
    e.Item.ForeColor=Color.Blue;
    e.Item.Attributes.Add("ondbclick","window.open('Details.aspx?ContractID="+ContractID+"','_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,revisable=no,left=100,top=0,width=600,height=450'); return false;window.opener=null;window.close();"); 
     }
    } 或用模板列:<asp:TemplateColumn HeaderText="两个参数">
    <ItemStyle Width="6%"></ItemStyle>
    <ItemTemplate>
    <asp:HyperLink ID="HyperLink2" Runat="server" NavigateUrl="url.aspx?name1='<%# DataBinder.Eval(Container,'DataItem.id')%>'&name2=<%# DataBinder.Eval(Container,'DataItem.username')%>">两个
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>
    方法很多,可以搜索一下。
      

  2.   

    我在web下不识别window.open 该怎么办
      

  3.   

    用这个语句Response.Write("<script language='javascript'>window.open('webform1.aspx',toolbar='no',menubar='no');</script>");引用了客户端的脚本语言,试试肯定可以!