ASP.NET复选框条件属性



我有一个带有复选框的WebForm。我需要根据环境设置对两件事做不同的事情。

  1. 添加类
  2. 添加文本属性,以便创建标签

                            <% if setting == true) { %>
                            <asp:CheckBox ID="optionCheckbox" class="option-checkbox radio-checkbox" runat="server" Text="Label Text"/>
                            <% } else { %>
                            <asp:CheckBox ID="optionCheckbox" class="option-checkbox" runat="server"/>
                            <% } %>
    

问题在于页面不会呈现,因为ID是相同的,即使只有一个人可以渲染。JavaScript还有很多其他处理,因此我不希望每种情况不同。

我能够通过仅保留"基本"复选框代码来解决此问题,然后覆盖Prerender事件以添加类并在此处设置文本属性。

<asp:CheckBox ID="optionCheckbox" class="option-checkbox" runat="server"/>

代码背后:

                CheckBox optionCheckbox = this.optionCheckbox as CheckBox;
                if (optionCheckbox != null)
                {
                    optionCheckbox.Text = "Label Text";
                    optionCheckbox.Attributes.Add("class", "option-checkbox radio-checkbox");
                }

我仍然想知道是否有一种方法在标记文件中执行此操作。

对不起此语法,我不使用ASPNET网页。您可以逻辑地实现它。

首先,定义类和文本变量并为业务设置值。

最终设置checkbox classText

var class = "option-checkbox";
var text = "";
if(setting == true)
{
    class = "option-checkbox radio-checkbox";
    text  = "Label Text"; 
}
 <asp:CheckBox ID="optionCheckbox" class="setClassProperty" runat="server" Text="SetTextProperty"/>

最新更新