点击后,原来那也就会跳转到一个写着Object的页面里。就这里比较怪!!<asp:HyperLinkColumn datanavigateurlfield="pId" DataNavigateUrlFormatString="javascript:window.showModelessDialog('designertoc.htm',window,'help=no;status=no;resizable=yes')" DataTextField="pItemName" HeaderText="项目名称"/>这样也不行!

解决方案 »

  1.   

    我以前也遇到过这个问题。
    不用<asp:HyperLinkColumn>, 用<asp:LinkButton>试试看。
    在绑定的ItemCommand里面:
    private void MyGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
      if(e.CommandName.Equals("select"))
      {
    Response.Write("<script language=javascript>window.open('xxx.aspx','','');</script>");
      }
    }
      

  2.   

    但我还要显示DataTextField="pItemName"阿,用<asp:LinkButton>可不行。
    我原来看到有人像这样写过,但现在想不起来了!!
      

  3.   

    你想显示什么还不是一样的?
    <asp:LinkButton ...>
    <%# DataBinder.Eval(Container.DataItem, "pItemName")%>
    </asp:LinkButton>
      

  4.   

    我先试试,这样好象太复杂了。
    微软这一改为.net好像自由就不太多了,属性又那么少,以后做出来的东西说不定都是一个样,DataGrid!!
      

  5.   

    redcaff_l(热的咖啡)这个问题用<asp:LinkButton>怎么做,能用代码说明吗??谢谢!
      

  6.   

    在aspx里面:
    <asp:DataGrid ID="MyGrid" Runat=server ...>
    <Columns>
      <asp:TemplateColumn>
        <HeaderTemplate>xxxx</HeaderTemplate>
        <ItemTemplate>
         <asp:LinkButton Runat=server ID="lblText" CommandName="Go">
         <%# DataBinder.Eval(Container.DataItem, "pItemName")%>
         </asp:LinkButton>
        </ItemTemplate>
      </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>在cs里面:
    在MyGrid的ItemCommand事件中
    private void MyGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e){
      if(e.CommandName.Equals("Go")){
      DataRow row = ((DataTable)ViewState["aTable"]).Rows[e.Item.ItemIndex];
    //aTable是在Page_Load里面绑定给MyGrid的数据源
    //在Page_Load里面将之放到ViewState["aTable"]里面
      int id = (int)row["pId"];
    Response.Write("<script language=javascript>window.open('xxx.aspx?id="+id+"&x=?&y=?','','');</script>");
      }
    }明白了吗?
      

  7.   

    <asp:HyperLinkColumn DataNavigateUrlField="pId" DataNavigateUrlFormatString="javascript:void(window.open('designertoc.htm','win1','toolbar=0,status=0,resizeable=1,scrollbars=0,width=750,height=200,top=50,left=100'));" DataTextField="pItemName" HeaderText="项目名称" DataTextFormatString="项目名称"></asp:HyperLinkColumn>
    这样应该没问题了吧。
      

  8.   

    哇,照yunhi(yunhi)的方法搞定了··