我正在尝试创建我的第一个网络应用。我有产品清单,我想按名称或价格对产品进行分类。我在<select>
标记中有可能的选项,我尝试使用方法onchange
将paramteres发送到我的控制器,然后对我的产品列表进行排序。当我调试我的程序时,我看到paramteres是发送null
值。您有什么想法我如何解决我的问题?
<p>Sort by:</p>
<select onchange="location = this.value">
<option value="@Url.Action("SortByString", new { id = "-----" })">-----</option>
<option value="@Url.Action("SortByString", new { id = "Name" })">Name</option>
<option value="@Url.Action("SortByString", new { id = "Price" })">Price</option>
</select>
public ActionResult SortByString(string sort){}
由于参数排序为空。感谢。
答案 0 :(得分:0)
您应该根据需要使用Url.Action()
方法的多次重载之一。在这种情况下,您可以使用this article中指定的第四个重载。
因此,您的代码必须更改如下,以准确传递您在控制器中的操作方法中指定的参数(如果您不想为您的网址定义自定义路由):
<p>Sort by:</p>
<select onchange="location = this.value">
<option value="@Url.Action("SortByString", new { sort = "-----" })">-----</option>
<option value="@Url.Action("SortByString", new { sort = "Name" })">Name</option>
<option value="@Url.Action("SortByString", new { sort = "Price" })">Price</option>
</select>
public ActionResult SortByString(string sort){}