MVC 3在线商店过滤产品

时间:2011-10-17 09:24:17

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

我正在使用asp mvc 3开发一个在线商店,我正在使用Razor视图。我是MVC的新手,我有一个关于过滤产品的问题。

我的方法是:

  1. 定义public PartialViewResult Filter()并将其包含在_Layout.cshtml中以在所有页面上呈现
  2. 当用户提交过滤器表单时,向他显示符合规则的产品。对于这个我啊另一个动作公共ActionResult FilterResult(FilterModel模型)
  3. 问题:

    1. 此方法存在的问题是表单发帖,用户无法复制过滤网址以通过电子邮件发送。我想在网址中有参数。这可能使用mvc 3吗?或者我应该使用javascript来进行过滤器重定向吗?

    2. 您是否了解过滤产品问题的更好,更优雅的方法?

2 个答案:

答案 0 :(得分:0)

只需对表单使用GET方法,您将在URL中使用过滤器参数。

示例:

可以使用BeginForm帮助器:FormExtensions.BeginForm方法(HtmlHelper,String,String,FormMethod),用于提交到同一页面,它是:

Html.BeginForm(null, null, FormMethod.Get)

答案 1 :(得分:0)

您可以将表单方法更改为GET而不是POST。我不确定您是否可以使用Html.BeginForm()帮助程序执行此操作,您可能需要不使用帮助程序或为其编写扩展名。这应该至少解决你的第一个问题。除非你有一些其他的路由规则。