Gridview ItemTemplate的条件逻辑(仅使用标记)

LCJ*_*LCJ 1 .net c# vb.net asp.net gridview

我有一个gridview,如下所示.当EmpType合同时,EmpID必须被屏蔽为"XXX"; 对于普通员工,应显示实际的EmpID.此外,当它被屏蔽时,我需要在EmpID列中添加一个按钮控件.

我需要用标记来做; 不使用背后的代码.我们如何为这个逻辑编写Gridview的ItemTemplate的条件逻辑?

注意:.Net 4.0

    <asp:GridView ID="Gridview1" runat="server" AutoGenerateColumns="False">
        <Columns>
            <asp:BoundField HeaderText="AssociateID" DataField="AssociateID" />
            <asp:TemplateField HeaderText="EmpID">
                <ItemTemplate>
                    <%# Eval("EmpID")%>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="EmpType" DataField="EmpType" />
        </Columns>
    </asp:GridView>
Run Code Online (Sandbox Code Playgroud)

代码背后

    List<Associate> associatesList = new List<Associate>();
    associatesList.Add(new Associate { AssociateID = 1, EmpID = 101, EmpType = "Contract" });
    associatesList.Add(new Associate { AssociateID = 2, EmpID = 102, EmpType = "Regular" });
    Gridview1.DataSource = associatesList;
    Gridview1.DataBind();
Run Code Online (Sandbox Code Playgroud)

bvr*_*bvr 8

试试这个

<%# Eval("EmpType") == "Contract" ? "XXX" : Convert.ToString(Eval("EmpID"))%>
Run Code Online (Sandbox Code Playgroud)

代替

 <%# Eval("EmpID")%>
Run Code Online (Sandbox Code Playgroud)