【问题标题】:Dynamic control CheckBoxList losing style after selected index event - ASP.Net C#选定索引事件后动态控件 CheckBoxList 失去样式 - ASP.Net C#
【发布时间】:2017-01-16 13:36:48
【问题描述】:

我有 checkBoxList 控件,我在其中动态添加列表项。我在创建时将样式应用于某些列表项。但是,在运行时,当我选择任何列表项时,所有应用了样式的列表项都会失去其样式。我该如何解决?

foreach (Group group1 in groups)
{
      if (wObj.Id== id.ToString())
     {
         ListItem li = new ListItem(wObj.GroupName,wObj.ID.ToString());
        li.Attributes.Add("Style", "padding-left: 25px;");
        chkBoxListWorkGroups.Items.Add(li);

     }
}

在选定的索引事件上,我只是检查一些条件并将列表项标记为选中。但问题是风格正在迷失?我的意思是所有控件的填充都被删除了?我该如何解决?

【问题讨论】:

    标签: c# asp.net dynamic


    【解决方案1】:

    这实际上取决于您在page life cycle 中如何以及何时实施您的复选框列表,这可能是由于多种原因。虽然,大多数情况下发生这种情况是因为在触发“SelectedIndexChanged”事件后页面重新加载时,您的动态 Checkboxlist 将丢失它的 ListItem 信息,除非您重新生成/数据绑定您的 Checkboxlist 属性。

    因此,您可能希望在页面加载中添加类似这样的内容:

    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        { 
            DataBinding_Method_YouWillWrite(); 
        }
    }
    

    对于您的数据绑定方法,一种选择是使用Viewstates 在您的复选框列表中的特定索引处存储/加载正确的属性。您可以尝试的另一个选项是在每次页面加载时重新生成 Checkboxlist,您只需要确保 Checkboxlist 在页面加载时加载任何选中的列表项(这也可以通过使用 Viewstates 来完成)。这真的取决于你如何实现你的代码,有很多不同的方法可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-08
      • 2014-07-26
      • 2014-09-21
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多