asp.net MVC中,某个页面中的Model是怎么指定的?
2个回答
展开全部
Controller代码如下:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(IndexModel model)
{
return View(model);
}
}
视图,位于~/Views/Home/Index.cshtml,代码
@model IndexModel
<html>
网页代码
</html>
其中IndexModel为你的Model,通过@model来指定这个页面的对象类型为IndexModel
希望你明白~
更多追问追答
追问
如果使用Index()方法返回视图,那视图的Model就默认为IndexModel(注:Index加Model就像某页面所在文件夹的名字加上Controller就是对应的控制器一样,加上Model就是对应的模型),
调用另外一个Index(IndexModel)或者在页面通过指令@model来指定某网页的Model,是这样吗
追答
在页面通过指令@model来指定某网页的Model!,和Action方法无关
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(IndexModel model)
{
return View(model);
}
你第一次请求index.csthml页面的时候,执行的是第一个HttpGet的Index()方法;当你提交表单的时候会执行HttpPost的index方法,这个model参数只是为了接收页面参数用的,因为你在页面上通过@model制定了页面的对象为IndexModel,所以在后台你接收到参数后自动映射为model对象,这个return View(model),传递这个model到页面上的作用是记录表单状态,model的值会填充到表单中相应的html元素上。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询