我在1个gridview列中有2个按钮
<asp:TemplateField HeaderText="Task" HeaderStyle-BackColor="DarkBlue" HeaderStyle-ForeColor="White" ItemStyle-Width="5px">
<ItemTemplate>
if<%#DataBinder.Eval(Container.DataItem, "stat")%>=="S2"
{
<a href="QP_OJT.aspx?Emp_id=<%#DataBinder.Eval(Container.DataItem, "EMP_ID")%>&Train_B_N=<%#DataBinder.Eval(Container.DataItem, "Train_B_N")%>&Train_ID=<%#DataBinder.Eval(Container.DataItem, "Train_ID")%>" class="btn btn-primary btn-sm">QP-003/05/02</a>
}else
{
<a href="QP_Eval.aspx?Train_ID=<%#DataBinder.Eval(Container.DataItem, "Train_ID")%>" class="btn btn-primary btn-sm">QP-003/09/03</a>
}
</ItemTemplate>
如果stat =&#34; s2&#34;,QP-003 / 05/02可见=真,则QP-003 / 05/02可见为假。 请指导我,谢谢。
答案 0 :(得分:0)
而不是使用和HTML <a>
元素,您可以使用和ASP.NET LinkButton
控件。当HTML生成它时,它也会被转换为<a>
元素,但在{{{ 1}}控制您有一个LinkButton
属性,可以通过编程方式控制以显示\隐藏链接 - Visible
<强> .ASPX:强>
Visible='<%# Eval("stat") == "S2" %>'
代码背后:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<span><%# Eval("EMP_ID") %></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<span><%# Eval("Train_ID") %></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="ojt" PostBackUrl='<%# "~/QP_OJT.aspx?Emp_id=" + Eval("EMP_ID") %>' runat="server" Text="QP-003/05/02" Visible='<%# Eval("stat") == "S2" %>'></asp:LinkButton>
<asp:LinkButton ID="eval" PostBackUrl='<%# "~/QP_Eval.aspx?Train_ID=" + Eval("Train_ID") %>' runat="server" Text="QP-003/09/03" Visible='<%# Eval("stat") != "S2" %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>