是否有与.Net 3.5的Razor语法相似的内容?

时间:2017-02-02 17:18:08

标签: c# webforms .net-3.5

解决方案:在cs文件中,当数据绑定发生时,您可以执行类似的操作。

((CurrencyBox)e.Row.FindControl("addUnitCost")).Enabled = ((appInfo.UserRole == HcfRole.TeaAdmin) ? false : true);

我开始从事遗留.net代码的新工作。是否有类似于razor语法的东西,我可以在HTML文件中引用C#对象?

特别是,我正在尝试编写一个简单的条件,如果登录了某个角色,它将禁用CurrencyBox。

Enabled='<%# "appInfo.UserRole" == "HcfRole.TeaAdmin" ? false : true %>'

在剃须刀中,我可以像

那样
Enabled='<%# @("appInfo.UserRole" == "HcfRole.TeaAdmin") ? false : true %>'

是否有可以实现同样功能的功能?

编辑:Oleg谈论的模板字段

<asp:TemplateField HeaderText="Unit Cost" ItemStyle-HorizontalAlign="Right">
    <EditItemTemplate>
        <hcf:CurrencyBox ID="editUnitCost" runat="server" Precision="2" 
            Text='<%# Eval("SessionCostAmount") %>' ToolTip="Unit Cost" Width="90%" />
        <asp:RequiredFieldValidator ID="rfvEditUnitCost" runat="server" 
            ControlToValidate="editUnitCost" EnableClientScript="false" 
            ErrorMessage="Unit Cost is required." ValidationGroup="ServiceUpdateValid"></asp:RequiredFieldValidator>
    </EditItemTemplate>
    <ItemTemplate>
        <hcf:CurrencyBox ID="lblUnitCost" runat="server" Enabled="false" Precision="2" 
            Text='<%# Eval("SessionCostAmount") %>'  />
    </ItemTemplate>
    <FooterTemplate>
        <hcf:CurrencyBox ID="addUnitCost" runat="server" Precision="2"  
            ToolTip="Unit Cost" Width="90%" />
        <asp:RequiredFieldValidator ID="rfvAddUnitCost" runat="server" 
            ControlToValidate="addUnitCost" EnableClientScript="false" 
            ErrorMessage="Unit Cost is required." ValidationGroup="ServiceAddValid" />
    </FooterTemplate>
</asp:TemplateField>

0 个答案:

没有答案