Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC 3在线商店过滤器产品_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc MVC 3在线商店过滤器产品

Asp.net mvc MVC 3在线商店过滤器产品,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在使用asp mvc 3开发一个在线商店,我正在使用Razor视图。我是MVC新手,对过滤产品有意见 我的做法是: 定义public PartialViewResult Filter(),并将其包含在要在所有页面上呈现的_Layout.cshtml中 当用户提交筛选表单时,向他显示符合规则的产品。为此,我有另一个操作公共操作结果FilterResult(FilterModel模型) 问题: 这种方法的问题是表单不发送帖子,用户无法复制过滤器url以通过电子邮件发送。我想在url中有参数。使用

我正在使用asp mvc 3开发一个在线商店,我正在使用Razor视图。我是MVC新手,对过滤产品有意见

我的做法是:

  • 定义public PartialViewResult Filter(),并将其包含在要在所有页面上呈现的_Layout.cshtml中
  • 当用户提交筛选表单时,向他显示符合规则的产品。为此,我有另一个操作公共操作结果FilterResult(FilterModel模型)
  • 问题:

  • 这种方法的问题是表单不发送帖子,用户无法复制过滤器url以通过电子邮件发送。我想在url中有参数。使用MVC3是否可以实现这一点?或者我应该使用javascript进行过滤器重定向吗

  • 你们知道一种更好更优雅的过滤产品问题的方法吗


  • 只需对表单使用GET方法,URL中就会有过滤器参数

    示例:

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

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

    您可以将表单方法更改为GET而不是POST。我不确定你是否可以用Html.beginnform()帮助程序来实现这一点,你可能需要要么不使用这个帮助程序,要么为它编写一个扩展。这至少可以解决您的第一个问题。除非你有其他的路由规则