webform1.aspx
<asp:datalist id="DataList1" runat="server">
<ItemTemplate>
<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl='<%#DataBinder.Eval(Container.DataItem,"cshopname","WebForm3.aspx?id={0}") %>' >
<%# DataBinder.Eval(Container.DataItem, "cshopname") %>
</asp:HyperLink>
</ItemTemplate>
</asp:datalist>webform3.aspx.csprivate void Page_Load(object sender, System.EventArgs e)
{
con=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connectionstring"]);
            str=Request.QueryString["id"].ToString();
Response.Write(str);//此时输出时会丢失部分数据??
}

解决方案 »

  1.   

    总算看到你问这个问题了..我再帮补充说两句,cshopname是个中文字段,在WebForm1.aspx显示的时候,鼠标移上去能正常显示比如
    WebForm3.aspx?id=上海大酒店但在另一个页面用Request.QueryString["id"]接的时候,经常回发现少了几个汉字(并不是每个链接都少),这样再去数据库做查询当然有问题
      

  2.   

    用VS2005可能不会...Eval("cshopname","WebForm3.aspx?id={0}")可能是你cshopname这个字段的问题,好好看看这个字段
      

  3.   

    用querystring传值的时候最好先用HttpUtility.Encode加密
    取出来的时候用HttpUtility.Decode解密
    这样可以避免了值丢失
      

  4.   

    以上方法都试了 还是那个问题至于加密:如何在前台的html中进行加密处理??