“Code Behind”部分视图的最佳实践

时间:2011-02-12 21:00:57

标签: asp.net-mvc

总而言之。

我仍然是这个MVC的新手,我正试图了解一些设计基础知识。

我想要在多个页面上使用“控件”(旧的Web表单术语?)。它是一个标准的登录框,即用户名,密码等,带有提交按钮和特定于它的代码。

我已将其创建为局部视图。这在使用它的两个页面/视图中呈现正常,但是我的问题是在提交表单(在局部视图中)时放置代码的最佳位置在哪里?

我是否在两个“完整”视图中创建HTTPPost属性,然后调用另一类具有与局部视图特定相关的代码的“常规函数”?理想情况下,我想我想要一个“SharedController”或者具有这种事情的动作方法的东西,但是随着应用程序的增长,这似乎都会失控。

我希望这一切都有道理。提前谢谢,

ž

1 个答案:

答案 0 :(得分:3)

一般情况下,如果您想要突破主视图的某些部分时想要使用局部视图(RenderPartial),请说您正在渲染一个偏离主模型的复杂类型。

对于你想要的,我认为使用RenderAction将是最佳选择。您将创建一个单独的Logon控制器,并且您的部分视图将绑定到此控制器。基本上,您的登录控件是一个独立的功能单元,托管视图不需要具备任何知识。

RenderAction将分别为LogonController执行整个控制器生命周期,并且您的表单将发回给该控制器。