歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

在使用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