MVC3アプリケーションでユーザーコントロールを作成しています。私の見解モデルは以下のようになります。ASP.NET MVC3 Html.Editorオブジェクトのプロパティとプロパティ
public class MyViewModel
{
public object Value { get; set; }
}
私は[DataType]
属性を使用することはできませんので、Valueプロパティはint型、文字列またはブール値である可能性があります。
私は私のビューモデルを作成する場合:
<%: Html.EditorFor(p => p.Value) %>
型テキストボックスのHTML入力をレンダリングする必要があります。
var viewModel = new MyViewModel { Value = "" };
または
var viewModel = new MyViewModel { Value = 1 };
を、私はこのコードがあることを前提としています。残念ながら、何もレンダリングされていません。
bool値を使用するか、空でない文字列を使用すると、すべて正常に動作します。私はいくつかの研究をした
、今の私は解決策が見つかりませんでした:
var viewModel = new MyViewModel { Value = true };
Html.EditorFor
は、チェックボックスの入力をレンダリングする:ここでは例です。
これは単純化された例です。実際のアプリでは、私はジェネリックタイプを持っています - あなたが言ったように。しかし、私は 'MyViewModel'のリストを作成できる必要があります。ご存知のようにジェネリック型のリストを作成することはできませんので、typeオブジェクトのプロパティ 'Value'を持つインタフェース(' IMyViewModel')を作成しました。 – krolik