client.aspx里写好了四列数据,并且做了超链接。用的datagrid控件。
<itemtemplate>
    <asp:HyperLink runat="server" Text='<%#container.dataitem("clie_chname")%>' NavigateUrl="clientdetail.aspx?clie_id=  "> </asp:HyperLink>
 </itemtemplate> <!--这里的clie_id,是我希望传递的参数-->
----------------------------------------------------------------
我试过 NavigateUrl='<%# String.Format("clientdetail.aspx?id="Eval("clie_id"))%>' 但是提示错误。clientdetail.aspx里用的detailview控件。
如何正确接收url参数。这个clientdetail.aspx,还要用来接收“search”传来的用户输入的关键字,然后做相应的显示。(之前的主详细页应该不会影响这个的吧)

解决方案 »

  1.   

    <asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.id","clientdetail.aspx?ID={0}") %>'>HyperLink</asp:HyperLink>
    那边用Request.QueryString["ID"]接
    那个小id就是你数据库绑定的字段
      

  2.   

    NavigateUrl='<%# String.Format("clientdetail.aspx?id={0}",Eval("clie_id"))%>'
      

  3.   

    呆呆虫,谢谢。正确了。
    但是我detail页面里正确接受的话,是不是要写函数了。
      

  4.   

    以前我用dw做asp页面的。呵呵。现在刚刚入门asp.net。
      

  5.   

    没人回帖了啊。如果我用linkbutton来充当这个hyperlink。我试了试,好像不能传递参数的嘛。
      

  6.   

    没人回帖了啊。如果我用linkbutton来充当这个hyperlink。我试了试,好像不能传递参数的嘛。Linkbutton是在本页执行的按钮控件,相当于asp中的<input type="sumint",
    除非在控钮事件中处理:
    private void Button1_Click(object sender, System.EventArgs e)
    {
    Response.Redirect("clientdetail.aspx?id="+ 变量id+"");
    }
      

  7.   

    如果是detailview控件里面放Linkbutton的话就在_ItemCommand事件里面处理:
    private void detailview1_ItemCommand(object source, System.Web.UI.WebControls.detailviewCommandEventArgs e)
    {
    Response.Redirect("clientdetail.aspx?id="+ this.detailview1.DataKeys[e.Item.ItemIndex].ToString() +"");
    }
      

  8.   

    谢谢了。最近真郁闷。刚刚接触asp.net。全是问题。好烦啊。
      

  9.   

    好想帮你解决问题,但是本人没有接触过asp.net 所以只能帮你顶一下