动作视图绑定:魔术!

时间:2010-01-14 18:59:34

标签: asp.net-mvc asp.net-mvc-routing

说HomeController有一个Details-action。 return View()将数据发送到Home文件夹中的Detals.aspx。但谁做出了这种约束?如果我想让它转到Edit.aspx怎么办?

背景: 除了一个文本框外,Details.aspx和Edit.aspx中的代码很多是相同的。也许通过MVC严谨,观点不应该做出那样的决定,但是,嘿,必须有一个限制。

2 个答案:

答案 0 :(得分:2)

如果您要Edit.aspx进行渲染,可以return View("Edit");

答案 1 :(得分:2)

您可以通过将其指定为View()函数的参数来转到Edit.aspx。

return View("Edit");

至于谁使实际绑定发生,它是View Engine。它接收返回的ViewResult并对其进行分析,以查看要加载和显示的模板文件。当它获得字符串“Edit”时,它使用控制器的上下文运行查找例程,在多个目录中搜索与约定匹配的文件名。它从控制器的View目录开始,然后搜索共享目录。