第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用Razor將未編碼的Json寫入我的View?

如何使用Razor將未編碼的Json寫入我的View?

德瑪西亞99 2019-08-17 15:29:32
如何使用Razor將未編碼的Json寫入我的我正在嘗試使用Razor將對象作為JSON編寫到我的Asp.Net MVC View中,如下所示:<script type="text/javascript">   var potentialAttendees = @Json.Encode(Model.PotentialAttendees);</script>問題是在輸出中JSON被編碼,我的瀏覽器不喜歡它。例如:<script type="text/javascript">     var potentialAttendees = [{&quot;Name&quot;:&quot;Samuel Jack&quot;},];</script>如何讓Razor發(fā)出未編碼的JSON?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

你做:

@Html.Raw(Json.Encode(Model.PotentialAttendees))

在早于Beta 2的版本中,您可以這樣做:

@(new HtmlString(Json.Encode(Model.PotentialAttendees)))


查看完整回答
反對 回復(fù) 2019-08-17
?
尚方寶劍之說

TA貢獻1788條經(jīng)驗 獲得超4個贊

Newtonsoft的JsonConvert.SerializeObject表現(xiàn)與Json.Encode@ david-k-egghead建議的行為不同,并且可以讓你接受XSS攻擊

將此代碼放入Razor視圖中以查看使用Json.Encode是否安全,并且可以在JavaScript上下文中使Newtonsoft安全,但不是沒有額外的工作。

<script>
    var jsonEncodePotentialAttendees = @Html.Raw(Json.Encode(
        new[] { new { Name = "Samuel Jack</script><script>alert('jsonEncodePotentialAttendees failed XSS test')</script>" } }
    ));
    alert('jsonEncodePotentialAttendees passed XSS test: ' + jsonEncodePotentialAttendees[0].Name);</script><script>
    var safeNewtonsoftPotentialAttendees = JSON.parse(@Html.Raw(HttpUtility.JavaScriptStringEncode(JsonConvert.SerializeObject(
        new[] { new { Name = "Samuel Jack</script><script>alert('safeNewtonsoftPotentialAttendees failed XSS test')</script>" } }), addDoubleQuotes: true)));
    alert('safeNewtonsoftPotentialAttendees passed XSS test: ' + safeNewtonsoftPotentialAttendees[0].Name);</script><script>
    var unsafeNewtonsoftPotentialAttendees = @Html.Raw(JsonConvert.SerializeObject(
        new[] { new { Name = "Samuel Jack</script><script>alert('unsafeNewtonsoftPotentialAttendees failed XSS test')</script>" } }));
    alert('unsafeNewtonsoftPotentialAttendees passed XSS test: ' + unsafeNewtonsoftPotentialAttendees[0].Name);</script>


查看完整回答
反對 回復(fù) 2019-08-17
?
哈士奇WWW

TA貢獻1799條經(jīng)驗 獲得超6個贊

使用Newtonsoft

<script type="text/jscript">
  var potentialAttendees  = @(Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model.PotentialAttendees)))</script>


查看完整回答
反對 回復(fù) 2019-08-17
  • 3 回答
  • 0 關(guān)注
  • 603 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號