MVC View 中 html 属性名与关键字冲突问题的分析与解决
在 MVC 的 View 中,允許使用 {} 來定義元素的屬性。
不過,HTML 中的 class 屬性名與 C# 中的類 class 是沖突的,所以,在使用的時候,會發(fā)現(xiàn)不能使用 class 這個屬性。
解決的辦法是在 class 前面加上一個 @ 符號,比如,為元素設(shè)置的類為 item,那么,可以這樣寫:{ @class = "item" }
使用前綴“@”可以將關(guān)鍵字用作標(biāo)識符,這在與其他編程語言建立接口時很有用。字符 @ 并不是標(biāo)識符的實際組成部分,因此在其他語言中可能將此標(biāo)識符視為不帶前綴的正常標(biāo)識符。帶@ 前綴的標(biāo)識符稱作逐字標(biāo)識符 (verbatim identifier)。允許將 @ 前綴用于非關(guān)鍵字的標(biāo)識符,但是(從代碼書寫樣式的意義上)強烈建議不要這樣做。
示例:
class @class {public static void @static(bool @bool) {if (@bool)System.Console.WriteLine("true"); elseSystem.Console.WriteLine("false");} }class Class1 {static void M() {cl\u0061ss.st\u0061tic(true);} }定義一個名為“class”的類,該類具有一個名為“static”的靜態(tài)方法,此方法帶一個名為“bool”的參數(shù)。請注意,由于在關(guān)鍵字中不允許使用 Unicode 轉(zhuǎn)義符,因此標(biāo)記“cl\u0061ss”是標(biāo)識符,與“@class”標(biāo)識符相同。
在 MVC 中,除了使用 @ 之外,還可以這樣來解決問題。
<%: Html.TextBoxFor(model => model.Postcode, new Dictionary<string, object> { { "class", "postcode" } }) %>轉(zhuǎn)載于:https://www.cnblogs.com/haogj/archive/2011/09/07/2169685.html
總結(jié)
以上是生活随笔為你收集整理的MVC View 中 html 属性名与关键字冲突问题的分析与解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由器手机测试网速的软件,4个实用的无线
- 下一篇: 【激光雷达】激光雷达点云数据的技术流程和