ASP.Net复选框条件属性

时间:2017-09-20 18:30:47

标签: c# asp.net checkbox

我有一个带有复选框的网络表单。我需要根据环境设置做两件事。

  1. 添加课程
  2. 添加Text属性,以便创建标签

                            <% 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"/>
                            <% } %>
    
  3. 这个问题是页面不会渲染,因为ID是相同的,即使只有一个可以渲染。有很多其他的javascript处理,所以我不想为每个场景设置不同的ID。

2 个答案:

答案 0 :(得分:1)

我能够通过保留下面的“base”复选框代码然后覆盖PreRender事件来添加类并在那里设置Text属性来解决这个问题。

<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");
                }

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

答案 1 :(得分:0)

对此语法感到抱歉,我不使用ASPNet webPage。 你可以逻辑地实现它..

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

最后按变量设置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"/>