歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> String.Format 源字符串包含大括號的小問題

String.Format 源字符串包含大括號的小問題

日期:2017/3/1 10:15:10   编辑:Linux編程

在使用String.Format()的過程中,一直沒有遇到這種類型的問題,直到在寫一個小sample的過程中,需要動態生成一段javascript代碼並且通過ScriptManager.RegisterCliemtScriptBlock方法將其注冊到前台,這裡使用String.Format來區分動態和靜態部分,並且生成最終的腳本代碼。

在編程中發現帶有“{”和“}”符號的腳本代碼在String.format()過程中會報錯,提示輸入字符串不正確。反復檢查了javascript,並沒有什麼可疑的地方。後來通過查詢一些資料,由於String.Format()通過檢測“{”,“}”符號來判斷,需要參數字符串插入的位置,如果你繼續在源字符串中使用這個字符時,可能造成混淆(你可以將其當做是關鍵字),就像你需要在字符串中加入雙引號時,同樣需要使用轉義字符。 所以在實際開發中,你需要吧”{“和”}“字符以”{{“和”}}“代替。

很小的一個問題,可能是個人編程經驗不足,贻笑大方,這裡寫下來作為自己的提醒。

例子:

  1. public static string Script = @"function Yes() {{
  2. var back = document.getElementById('wholePage');
  3. back.parentNode.removeChild(back);
  4. var message = document.getElementById('messageBox');
  5. message.parentNode.removeChild(message);{0}}}”;

另外一個, 如果你的字符串中含有引號,需要額外再加上一個引號才可以正常顯示,即“”代替”, 例如:

string script="function A() {var text=""""}";

通過RegisterCliemtScriptBlock方法可以注冊為function A() {var text="";}

Copyright © Linux教程網 All Rights Reserved