您好我正在尝试将查询字符串传递给链接,我已经这样写了:
@Html.ActionLink(subcategory,"Index" , "Products" , new { category = subcategory})
我写它的方式我收到了这个,似乎它无法识别actionName:
http://localhost:2100/?Length=8
如果删除新的{category = subcategory},我会得到:
http://localhost:2100/Products
我希望ActionLInk做的是返回这样的内容:
http://localhost:2100/Products/Index?substring=9
答案 0 :(得分:3)
您正在使用Html.ActionLink
的{{3}}。这就是为什么第3个参数"Products"
被解释为在网址中产生?Length=8
的路由值。
作为旁注:Length=8
来自string
类型,其中有一个属性Length
,"Products"
字符串的长度为8。
所以你只需要使用wrong overload:
@Html.ActionLink(subcategory, //link text
"Index", //action name
"Products", //controller name
new { category = subcategory}, //route values
null // html attributes
)