2011-06-10 44 views
1

因此,我在窗體中使用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是我唯一的解決方案。

回答

1

將問題編號綁定到隱藏字段,當保存回來時,將該隱藏字段取回並取出該編號。然後你知道你在看哪個問題。

0

在頁面加載中放置一個斷點並進行回發。深入瞭解Request.Form鍵/值對集合。帖子中的所有內容都將放在那裏,並帶有可預測的標籤/索引。

+0

我可以看到正確發佈的所有內容,但問題是如何將每個答案與問題編號關聯,該問題編號是中繼器綁定的DataTable中的字段? – etoisarobot 2011-06-10 18:43:07

+0

將它綁定到@Fourth建議的隱藏值中,或者將其與匹配索引匹配。畢竟,你知道數據進入轉發器的順序。我只提到了Request.Form數據,因爲當你處於一個難以找到控制參考的情況時(例如中繼器中的動態行),它總是作爲後備數據。 – asawyer 2011-06-10 18:46:50

相關問題