2017-05-22 84 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。

相關問題