当使用Html.ActionLink传递包含#cook的字符串时,它会像它一样呈现,但如果你将UrlEncode呈现为%2523。
我相信这是一个错误。 MVC Beta版。
这真的是个错误吗?
答案 0 :(得分:3)
不是错误:)您不希望UrlEncode实际网址 - UrlEncode可帮助您在网址中编码可能与URI控制字符冲突的文本。同样,除非您想向用户显示HTML本身,否则您不会将实际的HTML传递给HtmlEncode。
答案 1 :(得分:1)
是的,运行以下控制台应用程序并查看输出内容:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string hash = "#";
Console.WriteLine(HttpUtility.UrlEncode(hash));
}
}
}
答案 2 :(得分:1)
也许这是一个错误?
谢谢!
答案 3 :(得分:0)
HttpUtility.UrlEncode与Server.UrlEncode相同吗? (HttpContext.Current.Server.UrlEncode)
我现在无法检查,不能靠近.NET机器。
答案 4 :(得分:0)
你是否正在传递#作为ActionLink参数的一部分?如果是这样,你应该像这样追加它:Html.ActionLink(“test”)+“#”