C# 将varchar值转换为int数据类型时,转换失败

C# 将varchar值转换为int数据类型时,转换失败,c#,asp.net,gridview,hyperlink,C#,Asp.net,Gridview,Hyperlink,我有GridView,在GridView中有一个超链接,我试图将查询字符串传递到另一个页面。ID是INT类型,但不确定为什么会出现此错误: 将varchar值“{0}”转换为数据类型时,转换失败 int 当我在不使用超链接的情况下自行加载详细信息页面时,它对我有效,但当我单击超链接时,我会出现上面提到的错误。这是我的超链接代码: <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="HyperL

我有GridView,在GridView中有一个超链接,我试图将查询字符串传递到另一个页面。ID是INT类型,但不确定为什么会出现此错误:

将varchar值“{0}”转换为数据类型时,转换失败 int

当我在不使用超链接的情况下自行加载详细信息页面时,它对我有效,但当我单击超链接时,我会出现上面提到的错误。这是我的超链接代码:

<asp:TemplateField>
   <ItemTemplate>
      <asp:HyperLink ID="HyperLink2" Text="VIEW DETAIL" runat="server" NavigateUrl= "~/DET/MARKETING.aspx?ID={0}"  Target="_blank">HyperLink</asp:HyperLink>
   </ItemTemplate>
</asp:TemplateField>

SQL语句中的问题

protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            string QUEST_SK = Request.QueryString["QUEST_SK"].ToString();
            // string MPost_ID = "773";
            sqlcon.Open();
            sqlcmd = new SqlCommand("SELECT ID, DESC  FROM Table1 WHERE ID= " + ID, sqlcon);
            da = new SqlDataAdapter(sqlcmd);
            da.Fill(dt);
            sqlcon.Close();
            GridView1.DataSource = dt;
            GridView1.DataBind();
            sqlcon.Close();
        }
    }
你可以使用Eval


超链接


超链接

我认为在查询字符串中注入值时会出现问题。能否粘贴插入ID值的代码?我刚刚发布了我的其他代码。尝试使用此代码时,我遇到一个错误:服务器标记的格式不正确。
protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            string QUEST_SK = Request.QueryString["QUEST_SK"].ToString();
            // string MPost_ID = "773";
            sqlcon.Open();
            sqlcmd = new SqlCommand("SELECT ID, DESC  FROM Table1 WHERE ID= " + ID, sqlcon);
            da = new SqlDataAdapter(sqlcmd);
            da.Fill(dt);
            sqlcon.Close();
            GridView1.DataSource = dt;
            GridView1.DataBind();
            sqlcon.Close();
        }
    }
<asp:TemplateField>
       <ItemTemplate>
          <asp:HyperLink ID="HyperLink2" Text="VIEW DETAIL" runat="server" NavigateUrl= '<%# Eval("id","~/DET/MARKETING.aspx?ID={0}") %>'  Target="_blank">HyperLink</asp:HyperLink>
       </ItemTemplate>
    </asp:TemplateField>
<asp:TemplateField>
   <ItemTemplate>
      <asp:HyperLink ID="HyperLink2" Text="VIEW DETAIL" runat="server" NavigateUrl= '~/DET/MARKETING.aspx?ID=<%# Eval("ID") %>'  Target="_blank">HyperLink</asp:HyperLink>
   </ItemTemplate>
</asp:TemplateField>