0

実行時にテキストボックス(グリッドビュー行内)のテキストを特定の文字列に設定できるようにする必要があります。以前にFindControlを使用したことがありますが、取得するだけでなく、テキストボックスの値を実際に設定するための構文を理解できません。これが私が持っているもので、コンパイルされません:

((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"));

助けていただければ幸いです

ありがとう

4

2 に答える 2

2

これは機能しますか?

(e.Row.FindControl("txtPath") as TextBox).Text = dataMap.GetString("targetPath");

編集:実際、私はこれが私の元の投稿よりも優れているのが好きです:

TextBox txtPath = (TextBox)e.Row.FindControl("txtPath");

if(txtPath != null) 
    txtPath.Text = dataMap.GetString("targetPath");
于 2010-10-25T22:29:24.543 に答える
0

コンパイルされない理由は、GetString()関数の最後に余分な閉じ括弧があるように見えるためです。

これを試して:

((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"); 

TextBoxがnullでないことを確認することをお勧めしますが、必須ではありません。

于 2010-10-27T08:24:03.983 に答える