JS字符串轉義

小問題,怎麼都記不住,每次都解決,每次都會重新遇到,現在人老了,果然記性不好了。
火大~~~ 貼個代碼

就是script.alert 中轉義問題,每次我都是用一個/來轉義,忘記嵌套兩層,我幫scriptManager.Regsister...... 放在了BasePage裏面,嵌套兩層的話,會丟失一層/,所以要在第一層用兩個/來轉義, 既是 使用 “  //'    ”,不然總是會報“什麼什麼少一個括號”的javascript錯誤。
  1. try
  2.             {
  3.                 //check task dependence
  4.                 List<RoleTask> lsTasks = rtManager.GetUsedTasksByRoleId(role.Id);
  5.                 string UsedTasksError = string.Empty;
  6.                 foreach (RoleTask task in lsTasks)
  7.                 {
  8.                     bool selected = false;
  9.                     foreach (ListItem item in lbTasksToRole.Items)
  10.                     {
  11.                         if (item.Selected)
  12.                         {
  13.                             if(task.Id.ToString() == item.Value)
  14.                             {
  15.                                 selected = true;
  16.                             }
  17.                         }
  18.                     }
  19.                     if(selected == false)
  20.                     {
  21.                         if (UsedTasksError == string.Empty)
  22.                             UsedTasksError = "TIPS: Task //'" + task.Name;
  23.                         else
  24.                             UsedTasksError += ","+task.Name;
  25.                     }
  26.                 }
  27.                 if (UsedTasksError != string.Empty)
  28.                 {
  29.                     UsedTasksError += "//' in role //'" + role.Name + "//' are used already, you can//'t unselect them in edit modal!";
  30.                     trans.Dispose();
  31.                     e.Command.Cancel();
  32.                     Alert(UsedTasksError, this);
  33.                     //throw new Exception(UsedTasksError);
  34.                     return;
  35.                 }
  36.                 rtManager.UpdateRole(role, (int)Session["UserId"]);
  37.                 //add new tasks to role
  38.                 foreach (ListItem item in lbTasksToRole.Items)
  39.                 {
  40.                     if (item.Selected)
  41.                     {
  42.                         rtManager.InsertRole_Task(role.Id, Int32.Parse(item.Value));
  43.                     }
  44.                 }
  45.                 trans.Complete();
  46.             }
  47.             catch(Exception ex)
  48.             {
  49.                 trans.Dispose();
  50.                 e.Command.Cancel();
  51.                 
  52.                 //throw;
  53.                 return;
  54.             }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章