Asp.net Item模板空值传入变量

Asp.net Item template null vaue pass in variable

我正在使用 ASP.NET 网格视图我的代码是:

<asp:TemplateField HeaderText="Id" >
<ItemTemplate>
<a target='_blank' href='Details.aspx?uniId=<%#Eval("uniId")%>&uni_name='<%#Eval("uni_name") %>''><%#Eval("uniId")%></a>
</ItemTemplate>
</asp:TemplateField>

服务器端代码是:

UniID = Convert.ToInt32(Request.QueryString["uniId"].ToString());
UniName = Request.QueryString["uni_name"].ToString();

问题是 UniID 变量正在工作,但 UniName 正在传递 null 值。

去掉第二次调用 Eval 周围的单引号。

<asp:TemplateField HeaderText="Id" >
  <ItemTemplate>
    <a target='_blank' href='Details.aspx?uniId=<%# Eval("uniId") %>&uni_name=<%# Eval("uni_name") %>'><%#Eval("uniId")%></a>
  </ItemTemplate>
</asp:TemplateField>

考虑一下您的代码将呈现的 HTML,无论 uni_name 是什么,超链接的目标仅包含 Details.aspx?uniId=someId&uni_name= 因为您要封装的是单引号uni_name 的值最终关闭 href.

的值