0

いくつかの asp.net Web フォームを MVC カミソリ ビューに変換するために、すべてのサーバー側コントロールを同等の HTML タグに変換しました。

MVC HTML ヘルパーを使用する必要があったことに気付くのが少し遅れました。ここでの問題は、HTML タグの値を厳密に型指定されたビュー リクエストにバインドできないことです。

HTMLヘルパーを使用せずに、MVC-3でModelプロパティをHTMLタグにマップする方法はありますか?

Consider following Model class:
class Person
{
    public string FirstName{get; set;}
}
View
@model MyApplication.Models.Person

<input type="text" id="txtFirstName" **???**/>

代わりに、入力をモデルのプロパティ???にバインドする属性を期待しています。FirstName

実現可能ですか?

4

1 に答える 1

2

DefaultModelBinderは属性を使用してname HTTP リクエストからモデルに値をバインドします。この規則がニーズに合わない場合は、独自の ModelBinder を作成できます。

したがって、あなたの場合、次のコードが機能するはずです(ただし、HTMLヘルパーを使用すると、目立たない自動検証を使用できるため、とにかくHTMLヘルパーを使用することをお勧めします)

コントローラ:

public ActionResult Create(Person person) {
  ...
}

意見:

@model MyApplication.Models.Person

<input type="text" id="txtFirstName" name="FirstName" />
于 2012-12-12T09:52:15.033 に答える