0

modelパラメータにアクセスせずに型を取得する方法はありますか?

私のコントローラー:

[HttpPost]
public ActionResult SomeAction(SomeViewModel model)
{
   SomeMethod(/* How to pass models's type here? */)
}

private void SomeMethod(Type type)
{
  // come code
}

メソッドSomeMethod(Type type)は、他の多くのアクションで呼び出されます。と

Type modelType = typeof(SomeViewModel);
or
Type modelType = model.GetType();

適切ではありません。

4

2 に答える 2

0

モデルとフォームがサーバーに送信するものに誤解があると思います。ほとんどの場合、モデルには、タイトル、説明、ユーザー プロファイルなど、ページに関するいくつかの情報が含まれています。フォームで送信を押すと、フォームに含まれるフィールドのみがアクションに送信されます。これは、ほとんどのデータがそのアクションで利用できず、手動で作成する必要があることを意味します

そのコードを見てください:

<h1>@Model.ArticleTitle</h1>
<p>@Model.ArticleDescription</p>
<form method="post">

@Html.EditFor(x=> x.CommentTitle)
@Html.EditFor(x=> x.CommentBody)

</form>

その場合、ブラウザーはサーバーに CommentTitle と CommentBody のみを送信します。ArticleTitle と ArticleDescription は送信されません。

.u

于 2014-01-15T17:00:48.537 に答える
0

ビューのコンテキストで話しているのですか?はいの場合は、ViewModel クラスの 1 つを使用して、厳密に型指定されたビューを作成できます。次に、そのモデルのタイプが View に表示されます。ビューの一番上の行。

于 2014-01-15T16:49:59.800 に答える