我有一个MVC Razor页面,我试图在URL中添加一个查询字符串参数。
<td>
@Html.ActionLink(item.Student_Name, "Index", "FourCourseAuditDetails",
new { filterByStudent = item.Student_Name})
</td>
我想要的结果是:http://[server]/FourCourseAuditDetails/Index?filterByStudent="[item.Student_Name]"
,但是当我测试页面时,锚点href attirubte看起来像这样:http://[server]/[route of current view]?length=[integer value]
根据Intellsense和Html.ActionLink描述,我使用了正确的参数,但显然有些不对。
我想到的是item.Student_Name是一个包含空格和逗号的字符串。我试过了filterByStudent = item.Student_Name.toString()
,这没什么用。我仍然认为这是问题的原因,但我不知道我还能做些什么。有什么想法吗?
答案 0 :(得分:3)
问题来自于LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object)
使用重载方法LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object)
@Html.ActionLink((string)item.Student_Name, "Index", "FourCourseAuditDetails",
new { filterByStudent = item.Student_Name}, null)
还需要输入强制转换item.Student_Name
到string
。