解决方案:在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>