【发布时间】:2026-01-18 01:35:02
【问题描述】:
我有 GridView 并且在 gridview 中我有一个超链接,我试图将查询字符串传递到另一个页面。 ID 是 INT 类型,但不知道为什么会出现此错误:
将 varchar 值“{0}”转换为数据类型时转换失败 诠释
当我在不使用超链接的情况下自行加载详细信息页面时,它对我有用,但是当我单击超链接时,我会收到上面提到的这个错误。这是我的超链接代码:
<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>
这是详情页的代码:
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();
}
}
【问题讨论】:
-
当您在查询字符串中注入值时,我认为这是一个问题。您可以粘贴插入 ID 值的代码吗?
-
我刚刚发布了我的其他代码
标签: c# asp.net gridview hyperlink