2011-07-05 21 views
0

セイを提出しますテキストボックスに入力された値。取得値が、私はItemTemplateにでTextBoxコントロールとListViewコントロールを持っている

私は、もちろん、ただ次のことを行うことができます:

Request.Form["ctl00$MainContent$aspectsAndRatings$ctrl0$rating"] 

しかし、私は、ASP.NETは、値がリストビューの行ごとに、入力された取得するためのクリーンな方法を提供します確信しています。私はそれが何であるか覚えていない。

(私はlistView.Items [n]は.FindControl(「評価」)しようとしましたが、それはむしろ、ユーザが入力した値よりも、空の値を持つテキストボックスを返します。)

答えて

2

次のことができるようにすべきですポストバックハンドラの下のコードを使用して値を取得します。リピーターをページロードイベントで再バインドしないように覚えておいてください。

foreach (var item in aspectsAndRatings.Items) 
{ 
    TextBox textBox = item.FindControl("rating") as TextBox; 
    if (textBox != null) 
    { 
     string textValue = textBox.Text; 
    } 
} 
+1

これは私がやることですが、 'as'キーワードを使って' null'の項目を最初にチェックする価値があります。 'textBox textBox = item.FindControl(" rating ")TextBox;' if(textBox!= null){string textValue = textBox.Text; } '私はこの解決策がより速く安全であると信じています。 – simonlchilds

+0

@csharpsiうーん。あなたが示唆するように答えを編集する。ありがとう。 –

関連する問題