2017-05-22 48 views
0

如何输出&符号&作为查询字符串在剃刀视图中的一部分?查询ASP.Net核心剃须刀视图中的字符串

比方说,我们有脚本元素,里面查看一些jQuery代码:

$.ajax({ 
    url: '[?]', 
    success: function (content) { $('body').append(content); }, 
    dataType: 'html', 
    timeout: 30000 

但是,我们不能用这样的@Url.Content("~/my/custom/url?some=1&query=2")网址因为符号将被装饰...

+0

嗨Maxim,我已经在ASP.Net核心中完成查询字符串,如下所示:Url.Action("ControllerMethod", new { param1 = Model.value[0]. param2 = "value2" }) - 这将转换为/ ControllerMethod?param1 = value1&param2 = value2。您是否需要在JQuery中出于某种原因来执行此操作,还是需要Html帮助器方法? – ThomW

+0

嗨...缺少一些东西)) – Maxim

回答

1

如果您可以使用Razor来完成我已经在ASP.Net Core中完成查询字符串,如下所示:

@Url.Action("ControllerMethod", new { param1 = "value1". param2 = "value2" }) 

This w通过ASP.Net病转化成

/ControllerMethod?param1=value1&param2=value2 
+0

不幸的是,这将被转换为“param1 = value1 & param2 = value2;”并且只在ControllerMethod路由存在的情况下。所以&符号仍然被转换。 – Maxim

+0

我可能误解了你正在做的事。你介意请张贴你控制器的方法和相关的查看代码?我上面发布的@ Url.Action方法是在ASP.Net Core中对控制器方法执行查询字符串的标准方法,并且在我的任何生产代码中默认情况下,&符号都不会被编码。 – ThomW

+0

Url.Content or Url.Action在输出之前解码&符号...它不是任何特定的情况..您的代码根本不起作用...我需要&不& – Maxim

0

我已完成了最后...它看起来有点棘手,并不比老经典ASP.Net更好..但它的工作原理:

url: '@Url.Content($"~/my/custom/url")@Html.Raw($"?some=1&query=2")' 

如果您需要输出一些自定义数据作为查询字符串中的参数,然后考虑HtmlEncode以避免XSS。

相关问题