0

我正在使用 ASP.NET MVC3 开发移动网站。我有一个页面,我的标题中有搜索栏。这个标题来自我的布局页面,这是所有其他视图共有的。在我的特定页面内,我有页面特定的内容(表单)。

在此处输入图像描述

对于我的操作,我将强类型Customer/Add的添加视图返回到我的. 我将在我的添加视图中有表单标签,当表单被提交时,它将被发布到Action 方法。那也行。我的问题是我将如何处理搜索框内容?我相信页面中只允许使用一个表单。因此,如果我有一个绑定到我的搜索视图(部分)的表单,它将是我页面中的 2 个表单。所以我不能那样做。CustomerCustomerViewModelHttpPost AddSearchViewModel

我可以通过阅读 java 脚本中的内容并调用另一个操作来获取搜索结果来处理搜索部分。这是唯一的方法吗?我担心那些禁用 java 脚本的设备。我应该怎么办 ?请指教

4

1 回答 1

1

不可以。您可以在页面上拥有超过 1 个表单。事实上,你应该在这里。您的添加客户页面应该提交给 1 个操作方法,但您的搜索表单应该提交给不同的操作方法。

如果您熟悉 webforms,那么该框架只允许您在页面上拥有 1 个表单,但不是因为 HTML 需要它。Webforms 需要它,因为它是框架可以跨 POST 请求(使用 ViewState)携带来自各种服务器控件的所有数据的唯一方式。Webforms 历来对 HTML 或 HTTP 不是很友好。

您只是不能将表单嵌套在 HTML 中的其他表单中,但在一个页面上拥有多个表单是完全合法的(并且在 MVC 中推荐)。

至于 AJAX,我不会担心没有启用 javascript 的设备。地球上只有大约 6 或 7 个人的网络设备上没有 javascript,如果有人禁用 javascript,他们将无法体验 99% 的网络其余部分。

于 2012-04-10T16:32:51.650 回答