如果可能的话,我需要能够在标记的ASP.NET中向下拉列表添加属性。 我遇到的问题与here和here相同。 下面动态创建的代码不会在回发中保留。
protected void FormGV_RowDataBound(object sender, GridViewRowEventArgs e){
...
listItem.Attributes.Add("DateOfService", form.sfc.DateOfThisService.ToString());
AnswerDD.Items.Add(listItem);
...
然后在按钮点击事件中我使用该属性,但它是空的。
dateOfWork = AnswerDD.SelectedItem.Attributes["DateOfService"].ToDate();
我可以确认该属性最初是存储的。我研究了页面生命周期,并不完全确定如何使用哪些方法添加动态代码以使其保持不变。如您所见,我使用RowDataBound方法动态创建属性,因此我无法使用PreInit方法。所以我想在标记中创建属性,然后动态填充它。 我应该补充一点,当调用属性时,属性的计数为0,因此它不像属性为空,它就不存在。