因此,我在窗體中使用Repeater來顯示從數據庫中檢索的問題列表。 每個問題允許最終用戶選擇是或否並添加一些像這樣的附加文本。如何區分由ASP.Net Repeater控件生成的HTML發佈的數據?
<ItemTemplate>
<asp:Panel runat="server">
<asp:RadioButtonList RepeatDirection="Horizontal" CssClass="YesNo" ID="YesNo" runat="server">
<asp:ListItem Value="Yes" Text="Yes" />
<asp:ListItem Value="No" Text="No" />
</asp:RadioButtonList>
</asp:panel>
<asp:Panel runat="server" CssClass="MoreInfo">
<asp:TextBox ID="TextBox1" TextMode="MultiLine" Height="70px" Rows="10" Columns="25" Wrap="true" runat="server" CssClass="MoreInfoText"></asp:TextBox>
</asp:Panel>
</ItemTemplate>
中繼器將數據綁定到PageLoad事件中的數據表中。 數據表中的字段中有一個是問題編號。 因此,當數據發佈時,我怎麼能告訴哪個問題#每個答案(是或否和額外的文本)引用?
如果我產生用手HTML而不是使用服務器控制,我只能將像
name=variableHoldingQuestionNumber + YesNo
name=variableHoldingQuestionNumber + AdditionalComments
張貼數據的HTML元素的名字,但我似乎無法使用在Repeater Item中設置Name屬性時變量。 放棄服務器控制並自己寫HTML是我唯一的解決方案。
我可以看到正確發佈的所有內容,但問題是如何將每個答案與問題編號關聯,該問題編號是中繼器綁定的DataTable中的字段? – etoisarobot 2011-06-10 18:43:07
將它綁定到@Fourth建議的隱藏值中,或者將其與匹配索引匹配。畢竟,你知道數據進入轉發器的順序。我只提到了Request.Form數據,因爲當你處於一個難以找到控制參考的情況時(例如中繼器中的動態行),它總是作爲後備數據。 – asawyer 2011-06-10 18:46:50