您好,登錄后才能下訂單哦!
--------------任何時候Razor有了二義性,都可以用圓括號指明想要的內容
@{string str="zhangdi"; MvcApplication1.Models.Album alb=new MvcApplication1.Models.Album (); alb.Title = "a"; } <!--輸出:zhangdi.aa--> <li>@(str).aa</li> <!--輸出:962410314a--> <li>962410314@(alb.Title)</li> <!--輸出962410314 @alb.Title--> <li>962410314 @@alb.Title</li>
--------------Html編碼
@{ string script = "<script>alert('xss***')</script>"; } <!--不顯示html標記--> <li>@script</li> <!--顯示html標記--> <li>@Html.Raw(script)</li> <script type="text/javascript"> $(function () { var msg = '@ViewBag.User'; $("#message").html(msg); var msg2 = '@Ajax.JavaScriptStringEncode(ViewBag.User)'; $("#message2").html(msg2); }); </script> <li id="message"></li><!--輸出:<script>alert('asdasd')</script>--> <li id="message2"></li><!--輸出:彈出框'asdasd'--> <!--顯示:\u003cscript\u003ealert(\u0027asdasd\u0027)\u003c/script\u003e--> @Ajax.JavaScriptStringEncode(ViewBag.User)
--------------Razor語法
<!--1,隱式識別代碼--> <li>@ViewBag.Message</li> <!--2,顯示識別代碼--> <li>Show@(ViewBag.Message)</li> <!--3,無編碼代碼--> <li>@Html.Raw(ViewBag.Message)</li> <!--4,代碼塊--> @{ int x = 1; string abc = "abc"; } <!--5,文本域標記相結合--> @foreach (var item in new int[]{1,2,3}) { <li>@item</li> } <!--6,混合代碼與純文本--> @if (ViewBag.Message == "<h style='color:red'>zhangdi</h>") { <text>張迪</text> } @*7,轉義代碼分隔符(轉義為@)*@ <li>@@</li> <!--8,服務器的注釋--> @* @for (int i = 0; i < 10; i++) { }*@ <!--9,調用泛型方法--> @*泛型方法等也需要顯示使用(),因為"<"標記會使Razor轉回標記*@
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。