如何从视图中将多个参数传递给action方法

时间:2012-01-23 09:57:05

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

我在category.cshtml视图页面中做了类似的事情

<select onchange="location = this.value;">
            <option value="/product/categoryByPage/id=@Model.CategoryID,limit=15" selected="selected">15</option>
            <option value="/product/categoryByPage/id=@Model.CategoryID,limit=30"
selected="selected">30</option>
            <option value="/product/categoryByPage/id=@Model.CategoryID,limit=50"
selected="selected">50</option>
    </select>

来自控制器:

[ActionName("categoryByPage")]
 public ViewResult Category(Guid id, string limit)
 {
       Category cat = db.Categories.Find(id);
       return View(cat);
 }

但它无法正常工作,控制器方法无法获取该参数...

提前感谢,

米兰

1 个答案:

答案 0 :(得分:1)

您需要按以下方式更改网址以使用默认路由:

<option value="/product/categoryByPage/@Model.CategoryID?limit=50"
selected="selected">

请注意,id实际上是默认路由中的最后一个参数,需要以查询字符串格式提供的任何额外参数