在CSHTML中声明模型后属性为空,如何填充模型属性?
MVC视图模型赋值的正确方式
你看到@Model.id显示0,是因为id大概率是值类型(比如int),值类型未赋值时会取默认值0,而非null。
关于模型属性的填充:
- 技术上确实可以在CSHTML里直接赋值,比如写:
但这种写法违背了MVC的设计原则——视图的核心职责是渲染展示数据,数据的准备工作应该交给控制器来做。@{ Model.id = 123; } - 正确的做法是在控制器的Action方法中实例化模型、填充属性,再传递给视图:
这样视图接收的是已经准备好的模型,既能保证职责清晰,也方便后续的维护和测试。public ActionResult YourActionName() { var myModel = new Mymodel(); myModel.id = 1; // 给其他需要的属性赋值 return View(myModel); }
内容的提问来源于stack exchange,提问作者th3answer
相关产品推荐
相关产品推荐

