我仍然是这个MVC的新手,我正试图了解一些设计基础知识。
我想要在多个页面上使用“控件”(旧的Web表单术语?)。它是一个标准的登录框,即用户名,密码等,带有提交按钮和特定于它的代码。
我已将其创建为局部视图。这在使用它的两个页面/视图中呈现正常,但是我的问题是在提交表单(在局部视图中)时放置代码的最佳位置在哪里?
我是否在两个“完整”视图中创建HTTPPost属性,然后调用另一类具有与局部视图特定相关的代码的“常规函数”?理想情况下,我想我想要一个“SharedController”或者具有这种事情的动作方法的东西,但是随着应用程序的增长,这似乎都会失控。
我希望这一切都有道理。提前谢谢,
ž
答案 0 :(得分:3)
一般情况下,如果您想要突破主视图的某些部分时想要使用局部视图(RenderPartial),请说您正在渲染一个偏离主模型的复杂类型。
对于你想要的,我认为使用RenderAction将是最佳选择。您将创建一个单独的Logon控制器,并且您的部分视图将绑定到此控制器。基本上,您的登录控件是一个独立的功能单元,托管视图不需要具备任何知识。
RenderAction将分别为LogonController执行整个控制器生命周期,并且您的表单将发回给该控制器。