表单中的MVC Widget

时间:2009-10-02 07:40:48

标签: asp.net-mvc widget

我正在使用ASP.NET MVC,我的HTML页面上的表单集合中有一个小部件,当我点击主表单的保存按钮时,我不仅希望将数据保存在主页面上表单以及窗口小部件上的内容,我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果窗口小部件生成自己的窗体,那么你运气不好,因为视图会呈现两个嵌套的窗体,这些窗体不起作用:

This will now work:
<form>
  <your input>
  <widget>
    <form>
      <widget's input>
    </form>
</form>

如果您的小部件不是那样,那么您在视图中打开表单,添加输入,包含小部件,添加提交按钮,然后关闭表单。

然后你有两个选择。

  1. 您创建一个接受Post动词的动作,并且参数接受FormsCollection。这是一个包含所有输入的字典,包括您编写的输入和小部件输入的输入。然后,您将根据自己的喜好管理帖子。

  2. 使用所有输入的名称创建模型对象,使视图按字符串键入,然后接受该模型作为操作的参数。这样做的好处是所有内容都更加透明(因为数据绑定器将完成大部分工作)但设置起来可能有点棘手