私はこのようになりますクラスを持っている:ASP.NET MVCフォーム要素名の生成
public class UserListVM
{
public SearchModel SearchModel { get; set; }
public PagedList<User> Users { get; set; }
}
public class SearchModel
{
public string Text { get; set; }
/* other properties */
}
私は私の見解にUserListVMを送るが、アクションがSearchModel
受け入れ:
public ActionResult Search(SearchModel filter)
{
UserListVM model = new UserListVM();
model.Users = userService.GetUsers(filter);
model.SearchModel = filter;
return View(model);
}
私の見解は次のとおりです。
@model UserListVM
<form>
@Html.TextBoxFor(m => Model.SearchModel.Text)
</form>
しかし、これは生成:
<input id="SearchModel_Text" name="SearchModel.Text" type="text" value="">
SearchModel
の代わりにをアクションに送信します。私はそれがこれを生成するために得ることができます方法:
<input id="Text" name="Text" type="text" value="">
をあなたはそれがSearchModelを必要とするビューにUserListVMを渡しているのはなぜ?あなたのビューはSearchModel以外のものを使用しません。 –