1

標準の HTML テキスト ボックスがある場合: Request.Form を使用して値を取得できます。

しかし、サーバー側からこのテキストボックスに入力するにはどうすればよいでしょうか? 私は試した

Request.Form["txtTest"] = "blah"; 

しかし、読み取り専用エラーが発生しました。

4

2 に答える 2

2

サーバー側で ID を使用してコントロールにアクセスするためのファースト クラスのサポートが必要な場合 (.net コントロールのように)、runat="server" タグが含まれるようにする必要があります。

それ以外の場合は、コード ビハインドにプロパティを設定し、データ バインディングを使用して aspx ページでこれから値を取得することで、動的に値を設定できます。

<input type=text value="<%=PropertyInCodeBehindClass %>" />

public string PropertyInCodeBehindClass
{
  get;
  set;
}
于 2010-01-06T16:15:56.357 に答える
0

サーバーコードが実行された時点では、クライアント側のテキストボックスは存在しないことに注意してください。コントロールをホストしているhtmlページは、新しいリクエストとしてサーバーに既に送信されており、Webブラウザーは、完全に新しいページで応答することを期待しています。その応答が到着するまで、ブラウザはページを表示したままにしますが、それは便利なシェルです。テキストボックスを保持していたDOMはなくなり、新しいものはまだ作成されていません。リクエストのプロパティを更新して、レスポンスを直接変更することはできません。

これは、コントロールのサーバー側の表現を使用する必要があることを意味します。サーバーコントロールの場合は、試してみてください。txtTest.Text = "blah"; それ以外の場合は、その入力タグを生成する場所を見つけて、適切に変更する必要があります。

常に2つあります。これ以上でもそれ以下でもありません。リクエストとレスポンス。

于 2010-01-06T16:38:53.333 に答える