2013-05-29 80 views
1

我正在使用asp mvc 4.我有以下html標記。HTML&ASP MVC 4:錯誤CS1056:意外字符''

<input type="text" maxLength="2000" pattern="^(~/|https?://).*$|^mailto:([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" > 

我收到以下服務器錯誤:HttpCompileException - error CS1056: Unexpected character '\'

我試圖逃跑,但它didn`t工作。這一定很簡單,但我錯過了一些東西。任何幫助將不勝感激。謝謝!

解決方案

的問題是在@符號。它應該被轉義,因爲它被Razor視圖引擎使用。

這工作:

pattern="^(~/|https?://).*$|^mailto:([\w\.\-]+)&#64;([\w\-]+)((\.(\w){2,3})+)$" 

回答

1

你也可以使用圖形的屬性的值作爲字符串字面量:

<input type="text" maxLength="2000" pattern='@(@"^(~/|https?://).*$|^mailto:([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$")' > 

//better:  
@{ 
    const string urlPattern = @"^(~/|https?://).*$|^mailto:([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"; 
    } 
<input type="text" maxLength="2000" pattern="@urlPattern" > 
+0

是的,這是很好的! – Mdb