asp.net Repeater控件 綁定數據 順求高手指教

 

我了個去 咱其實米有具體學過asp.net... 都是平時慢慢積累的 寫前臺超累 完全的前臺白癡啊;;;;;  這次遇到一個問題 整死我了  先說說我原來的寫法吧 這個寫法讓我被媽媽罵了頓.; ;; 

 首先 前臺代碼:

Code:
  1. <asp:Repeater ID="rptTest" runat="server">  
  2.            <ItemTemplate>  
  3.                <asp:Label ID="lblCount" runat="server" Text="qzw"></asp:Label>.  
  4.                <asp:Label ID="lblTitle" runat="server" Text="qzw"></asp:Label>  
  5.                <br /><br/>  
  6.                <asp:RadioButton ID="rdoAnsA" runat="server" GroupName="pm" /><br/>  
  7.                <asp:RadioButton ID="rdoAnsB" runat="server" GroupName="pm"/><br/>  
  8.                <asp:RadioButton ID="rdoAnsC" runat="server" GroupName="pm"/><br/>  
  9.                <asp:RadioButton ID="rdoAnsD" runat="server" GroupName="pm"/><br/>  
  10.                <br/><br/>  
  11.            </ItemTemplate>  
  12.        </asp:Repeater>  

 

原來寫法類似於這段(由於被我刪了,我就不重寫遍了)

 
Code:
  1. <asp:Repeater runat="server" ID="singleRep" DataSourceID="sqlSingle">   
  2.                       <ItemTemplate>   
  3.                           <a>   
  4.                                <%# singeCount++ %>   
  5.                               .<%# Eval("Title") %>   
  6.                               <asp:HiddenField runat="server" Value='<%# Eval("ID") %>' ID="titleId" />   
  7.                           </a>   
  8.                           <div>   
  9.                 A.<asp:RadioButton ID="rbA" GroupName="option" runat="server" Text='<%# Eval("AnswerA") %>' />   
  10.                               <br />   
  11.                 B.<asp:RadioButton ID="rbB" GroupName="option" runat="server" Text='<%# Eval("AnswerB") %>' />   
  12.                               <br />   
  13.                 C.<asp:RadioButton ID="rbC" GroupName="option" runat="server" Text='<%# Eval("AnswerC") %>' />   
  14.                               <br />   
  15.                 D.<asp:RadioButton ID="rbD" GroupName="option" runat="server" Text='<%# Eval("AnswerD") %>' />   
  16.                           </div>   
  17.                       </ItemTemplate>   
  18.                   </asp:Repeater>  

這個是從網上當的 於是我就仿照它來用Repeater控件 汗 之前都不知道要用什麼控件..;;

可以看到它是自動綁定的數據源. 但是我的不行(或者說我不會搞...) 因爲我是取了數據後存入了寫的類中(Model類)

Code:
  1. TestControl tc = new TestControl();   
  2.        //取試題   
  3.        List<ProblemModel> problemArray = tc.GetTest(5);   
  4.        //綁定數據   
  5.        rptTest.DataSource = problemArray;   
  6.        rptTest.DataBind();  

我原先就是這樣手動綁定數據 然後前臺用<%# Eval()%>綁定數據的 結果被我媽一頓罵 說我用asp的老方法啥的 說不安全等等云云 反正是被罵得狗血淋頭 ;;;悲慘貓 T^T

於是我的前臺就改了第一段代碼那樣, 開始在後臺動工 汗啊 我哪懂這些啊 硬是瞎整 查文檔啊 跟蹤變量看值啊 試了兩下 還真給我寫出來了;;

Code:
  1. for (int i = 0; i < rptTest.Items.Count; i++)   
  2.        {    
  3.            RepeaterItem ri=rptTest.Items[i];   
  4.            ProblemModel pm=problemArray[i];   
  5.            Label lblCount = ri.Controls[1] as Label;   
  6.            lblCount.Text = (i+1).ToString();   
  7.            Label lblTitle = ri.Controls[3] as Label;   
  8.            lblTitle.Text = pm.Title;   
  9.   
  10.            RadioButton rdobtnA = ri.Controls[5] as RadioButton;   
  11.            rdobtnA.Text = pm.Ans1;   
  12.            RadioButton rdobtnB = ri.Controls[7] as RadioButton;   
  13.            rdobtnB.Text = pm.Ans2;   
  14.            RadioButton rdobtnC = ri.Controls[9] as RadioButton;   
  15.            rdobtnC.Text = pm.Ans3;   
  16.            RadioButton rdobtnD = ri.Controls[11] as RadioButton;   
  17.            rdobtnD.Text = pm.Ans4;   
  18.   
  19.        }  

最後的結果就是:

東西出來了 但是我覺得寫得實在很挫 效率貌似也不怎麼樣 不知道有米有更好點的方法 或者有沒有更好的控件哇

 

 

發佈了52 篇原創文章 · 獲贊 15 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章