MvcHtmlString仍然编码字符

时间:2010-11-24 08:11:47

标签: javascript jquery asp.net-mvc-3 razor html-encode

我正在尝试使用MvcHtmlString.Create来创建JavaScript变量。但是输出仍在编码中。

var geocode_jsonresult = @MvcHtmlString.Create(Url.Action("GeoLocation", "Generic", New With {.address = "$(this).val()"}));

创建以下输出

var geocode_jsonresult = /generic/GeoLocation?address=%24(this).val();

什么时候真的“应该”

var geocode_jsonresult = /generic/GeoLocation?address=$(this).val();

我该如何防止这种情况?

注释

我使用VB而不是C#

2 个答案:

答案 0 :(得分:2)

你的javascript好像坏了。不应该是:

var geocode_jsonresult = 
    '@Url.Action("GeoLocation", "Generic")?address=' + 
        encodeUriComponent($(this).val());

是否尝试将服务器端网址助手与客户端值混合使用?

答案 1 :(得分:1)

尝试

var geocode_jsonresult = 
    '@Url.Action("GeoLocation", "Generic")?address=' + $(this).val();