2011-10-17 24 views
0

我正在開發一個使用asp mvc 3的在線商店,並且我正在使用Razor視圖。我是MVC的新手,我有一個關於過濾產品的問題。MVC 3在線商店過濾器產品

我的做法是:

  1. 界定公共PartialViewResult過濾器(),並將其納入了_Layout.cshtml上的所有頁面中呈現
  2. 當用戶提交表單過濾器顯示他匹配的產品規則。爲此,我ahve另一個動作公衆的ActionResult FilterResult(FilterModel模型)

問題:

  1. 這種方法的問題是,形式做一個帖子和用戶無法複製過濾網址的發送電子郵件。我想要在URL中的參數。這可能使用mvc 3嗎?或者我應該使用JavaScript來做過濾器重定向?

  2. 您是否知道過濾產品問題的更好更優雅的方法?

回答

0

只需在表單中使用GET方法,並且您將在URL中使用過濾器參數。

例子:

這是可能的BeginForm幫手:FormExtensions.BeginForm方法(的HtmlHelper,字符串,字符串,FormMethod),用於提交相同的頁面,它是:

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

你可以將表單方法更改爲GET而不是POST。我不確定您是否可以使用Html.BeginForm()助手來完成此任務,您可能需要不使用助手或爲其寫入擴展名。這應該至少解決你的第一個問題。除非你有一些其他的路由規則。