我对MVC3比较陌生,对控制器中的参数有疑问。
我有一个带id的控制器
public ActionResult ChooseItem(string id) ...
此控制器的视图会创建一个表单,当用户提交表单时,它会发布到此控制器
[HttpPost]
public ActionResult ChooseApp(string id, string itemID)...
奇怪的是,即使我没有在POST到此控件的视图中存储id
的隐藏变量,也正确设置了id参数。这实际上是一件好事,但我不明白价值的来源。我检查了Chrome开发工具中的POST值,并且POST表单值中没有id。什么是正确设置id值?
答案 0 :(得分:1)
如果您的查询字符串中有一个id值,或者您的路由已定义,并且它可以在URL中找到一个id元素,它将使用它们。此链接描述了默认绑定器的工作原理以及值来自http://www.howmvcworks.net/OnModelsAndViewModels/TheBeautyThatIsTheModelBinder
的优先级