Asp.net mvc 强制razor不转义url
Razor的自动逃生系统把我弄糊涂了。我正在构建一个url以提供给jquery的$.load方法:Asp.net mvc 强制razor不转义url,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,Razor的自动逃生系统把我弄糊涂了。我正在构建一个url以提供给jquery的$.load方法: <script> $("#baz").load('@Url.Action("Method", new { foo=Model.Foo, bar=Model.Bar })'); <script> $(“#baz”).load('@Url.Action(“Method”,new{foo=Model.foo,bar=Model.bar})); 问题是,url在发出的脚本中转
<script>
$("#baz").load('@Url.Action("Method", new { foo=Model.Foo, bar=Model.Bar })');
<script>
$(“#baz”).load('@Url.Action(“Method”,new{foo=Model.foo,bar=Model.bar}));
问题是,url在发出的脚本中转义(&==&)
$(“#baz”).load('Method?foo=foo&;bar=bar');
因此,MVC在请求中表示未提供bar参数,并阻止了该请求
我已经试着用@Html.Raw来包装这个调用,但似乎仍然无法通过url。回到aspx星球,我只是做了我只是运行了一个测试,在我的测试中没有使用Html.Raw对符号进行编码,就像这样:
@Html.Raw(Url.Action("Method", new { foo = Model.Foo, bar = Model.Bar }))
你可以回答你自己的问题,你有错误吗?它告诉我我必须等8个小时。啊,太糟糕了。如果可以的话,你应该把这个问题转移到一个答案上来。
@Html.Raw(Url.Action("Method", new { foo = Model.Foo, bar = Model.Bar }))