ASP.net ListItem Attributes 속성 롤백 누락된 솔루션
1. 목록 컨트롤을 새로 계승
새 컨트롤에 두 가지 메서드를 재작성합니다.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Web;
5 using System.Web.UI.WebControls;
6
7 namespace GetDateDome
8 {
9 public class ListBoxEx:ListBox
10 {
11 protected override object SaveViewState()
12 {
13 // create object array for Item count + 1
14 object[] allStates = new object[this.Items.Count + 1];
15
16 // the +1 is to hold the base info
17 object baseState = base.SaveViewState();
18 allStates[0] = baseState;
19
20 Int32 i = 1;
21 // now loop through and save each Style attribute for the List
22 foreach (ListItem li in this.Items)
23 {
24 Int32 j = 0;
25 string[][] attributes = new string[li.Attributes.Count][];
26 foreach (string attribute in li.Attributes.Keys)
27 {
28 attributes[j++] = new string[] { attribute, li.Attributes[attribute] };
29 }
30 allStates[i++] = attributes;
31 }
32 return allStates;
33 }
34
35 protected override void LoadViewState(object savedState)
36 {
37 if (savedState != null)
38 {
39 object[] myState = (object[])savedState;
40
41 // restore base first
42 if (myState[0] != null)
43 base.LoadViewState(myState[0]);
44
45 Int32 i = 1;
46 foreach (ListItem li in this.Items)
47 {
48 // loop through and restore each style attribute
49 foreach (string[] attribute in (string[][])myState[i++])
50 {
51 li.Attributes[attribute[0]] = attribute[1];
52 }
53 }
54 }
55 }
56
57 }
58 }
2페이지 등록 컨트롤
1 <%@ Register assembly="GetDateDome" namespace="GetDateDome" tagprefix="my" %>
3 새 컨트롤 사용
1 <my:ListBoxEx ID="lstUnselectCol" runat="server" Style="width: 100%;height:100%;" ></my:ListBoxEx>
1 //
2 ListItem p = new ListItem(i["Item"].ToString(), i["value"].ToString());
3 p.Attributes.Add("type", i["type"].ToString());
4 lstUnselectCol.Items.Add(p);
5
6
7 //
8 string msg = srcList.SelectedItem.Attributes["type"];
4 마지막으로 Enable ViewState="true"설정을 기억하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.