sim*_*mer 5 c# asp.net-mvc razor
控制器:
public ActionResult Tool(string id)
{
// Code goes here . .
}
Run Code Online (Sandbox Code Playgroud)
视图:
<a href="/Home/@item.Type/@Url.Encode(item.Title)" id="toolTitleLink">@item.Title</a>
Run Code Online (Sandbox Code Playgroud)
从上面的代码@item.Title可以有特殊字符,如'/'示例链接是http://localhost:39727/Home/Tool/C+Compiler+For+The+Pic10%2f12%2f16+Mcus当我尝试导航到该链接Tool Controller未被调用.我曾经使用@Url.Encode但仍未Controller被召唤.
不幸的是,即使你使用System.Uri.EscapeDataString而不是Url.Encode像这样:
<a href="/Home/@item.Type/@System.Uri.EscapeDataString(item.Title)" id="toolTitleLink">@item.Title</a>
Run Code Online (Sandbox Code Playgroud)
渲染的页面将对斜杠进行编码(查看页面的“查看源代码”),浏览器仍会对它们进行解码。
据我所知,你有两个选择:
使用不同的字符 - 进行您自己的转义(可以这么说;)) - 例如使用 tilda (~) 或您想要的任何其他URL 有效字符,以替换正斜杠。
为该操作创建一个特殊的路径,并在末尾包含一个包罗万象的内容,并从该操作中解析内容。
| 归档时间: |
|
| 查看次数: |
890 次 |
| 最近记录: |