有这样一个按钮
<asp:Button ID="Button2" runat="server" Text="修改" PostBackUrl='~/Edit.aspx?ID=<%#Eval("id")%>'/>我现在想要把id的值传到edit页面调用动态存储过程,如何实现?
上面的PostBackUrl书写格式有问题么?为什么有如下提示?
//////////////////////////////////////////
输入字符串的格式不正确。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。/////////////////////////////

解决方案 »

  1.   

    PostBackUrl='~/Edit.aspx?ID=<%#Eval("id")%>'上面这行书写有误么?为什么传递过去的是一个String型,而不是int型
      

  2.   

    PostBackUrl='../Edit.aspx?ID=<%#Eval("id")%>'
      

  3.   

    1.1可以这样写
    <asp:Button ID="Button2" runat="server" Text="修改" PostBackUrl='<%# "~/Edit.aspx?ID=" + DataBinder.Eval(Container.DataItem, "au_id") %>'/>2.0可以这样写
    <asp:Button ID="Button2" runat="server" Text="修改" PostBackUrl='<%# "~/Edit.aspx?ID=" + Eval("au_id") %>'/>
      

  4.   

    上面应该是id...传过去的一定是字符串,要转换的int id = Convert.ToInt32(Request.QueryString["id"]);
      

  5.   

    PostBackUrl='<%# "~/Edit.aspx?ID=" + Eval("au_id") %>'是啊,就应该这样写,楼主写错了吧