如何在ASP.Net GridView列中添加if语句逻辑

时间:2016-12-05 23:48:14

标签: asp.net

我有一个GridView,其中包含以下列:

<asp:HyperLinkField DataNavigateUrlFields="agent_level" DataNavigateUrlFormatString="agent_production.aspx?agentlevel={0}" DataTextField="agent_id" HeaderText="View Agents" DataTextFormatString="View" Text="View"/>

我一直在寻找以下方法:如果agent_level =&#39; b&#39; (这个值来自数据库)然后&#34;查看&#34;不可点击。

1 个答案:

答案 0 :(得分:0)

您可以将 TemplateField 用于小型企业逻辑。如果您需要复杂的业务逻辑,则需要考虑使用 OnRowDataBound 事件。

<asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField HeaderText="View Agents">
            <ItemTemplate>
                <asp:HyperLink
                    NavigateUrl='<%# Eval("agent_level").ToString() == "b" 
                        ? "javascript:void(0)"
                        : "agent_production.aspx?agentlevel=" + Eval("agent_id") %>'
                    runat="server"
                    ID="AgentHyperlink" Text="View" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>