有没有办法在不访问参数的情况下获得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();
不适合。
答案 0 :(得分:0)
你是在谈论View的背景吗?如果是,那么您可以使用ViewModel类之一创建强类型视图。然后,您将在View中获得该模型的类型。 View中最顶层的一行。
答案 1 :(得分:0)
我认为模型存在误解,表单提交给服务器的内容是什么。 在大多数情况下,模型有几个关于页面的信息,如标题,描述,userprofile等。 当您在表单上按提交时,您只向表单中包含的字段发送操作。这意味着大多数数据在该操作中不可用,您必须手动创建
看看那段代码:
<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