Datakeynames,request.querystring

时间:2011-06-20 23:21:37

标签: asp.net

我在这个小代码中做错了什么

Page1:`

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{

       UserType = DDlUserType.SelectedItem.Text;
       if (e.Row.RowType == DataControlRowType.DataRow)
       {
           // Get the value in the hyperlink column.
           string HyperLinkValue = e.Row.Cells[1].Text;
           HyperLink myLink = new HyperLink();

           myLink.NavigateUrl = "~/ShowMMBProfileStats1.aspx?Profile_ID={0}";
           myLink.Text = HyperLinkValue;
}

在ShowMMBProfileStats1.aspx

protected void Page_Load(object sender, EventArgs e)
{

        int MMBProfileID = Convert.ToInt32(Request.QueryString[0]);

}

它给了我一个错误

  

输入字符串不正确   格式。

在aspx页面中,我正在分配datakeynames="Profile_ID"

如何将此Profile_ID带到第1页。                ` 谢谢 太阳

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

myLink.NavigateUrl = 
    "~/ShowMMBProfileStats1.aspx?Profile_ID=" + e.Row.Cells[profileIDCellIndex].Text;

答案 1 :(得分:0)

您没有为{0}设置值。尝试这样的事情:

myLink.NavigateUrl = 
    String.Format("~/ShowMMBProfileStats1.aspx?Profile_ID={0}", HyperLinkValue );

 myLink.NavigateUrl = "~/ShowMMBProfileStats1.aspx?Profile_ID=" + HyperLinkValue ;