0

最近WebMatrixを使用していますが、オブジェクトにデータを挿入できるかどうか疑問に思っています。

私は以前Struts2を使用していましたが、慣れている場合は、<s:textfield name="model.property" .../>そのテキストフィールドに挿入された値のような入力があると、モデルオブジェクトに挿入されるか、モデルオブジェクトの値がテキストフィールドに挿入されます。ページがロードされます(これは、Webページに処理されるロジックによって異なります)。

value="@Request.QueryString["searchGenre"]"これまでのWebMatrixで、 Razorコード内の変数から値にアクセスし、それをhtmlコントロールに割り当てることができるこのタイプのデータインジェクションを見てきましたが、逆に行うことはできますか?HTMLコントロール内のRazorコードにオブジェクトへの参照を配置し、ページを送信するときにオブジェクトに値を挿入できますか?

リクエスト内のクエリ文字列値にアクセスできることは知っていますが、このアプローチを実行できるかどうかを知りたいです。

それでそれはできますか?または、私が取ることができる別のアプローチがありますか?コーディング時間を短縮したいので、提案を受け付けています。

助けてくれてありがとう。

4

1 に答える 1

0

はい、HTMLフォームコントロールに任意のデフォルト値を指定できます。規則では、値を対応するRequest.FormまたはQueryString値に設定して、フォームが検証に失敗した場合に、ユーザーが提供した値が保持されるようにします。

<input type="text" name="color" value="@Request["color"]" />

ただし、これをデフォルト値に設定し、フォームが投稿された場​​合にリセットして、ユーザーが提供したものをすべて取得できるようにすることができます。

@{
    var color = Request["color"].IsEmpty() ? "Red" : Request["color"];
}
<input type="text" name="color" value="@color" />

または、フォームにHtmlヘルパーを使用して、より「アジャイル」な感じにしたい場合は、次のようにします。

@{
    var color = Request["color"].IsEmpty() ? "Red" : Request["color"];
}
@Html.TextBox("color", color)
于 2012-12-18T21:14:39.717 に答える