我在我的控制器下面的代碼:如何逃脫撇號asp.net-MVC和JavaScript
public ActionResult MyPage()
{
var vm = new MyViewModel();
vm.StringList = "'" + String.Join("','", MyModel.GetList().Select(r => r.Name).ToArray()) + "'";
return View(vm);
}
和我的asp.net MVC的觀點,我有以下代碼:
var myJavascriptArray = [<%=Model.StringList %>];
一個javascript函數內部
這工作得很好,直到其中一個名字:
MyModel.GetList()
調用有像「比爾·奧布賴恩」
中有一個撇號的,因爲它認爲,弄亂我的JavaScript代碼「後,O爲該條目和換行符結束。
是什麼而逸出該字符的,所以我可以有一個數組在那樣的JavaScript將最終顯示爲這樣的最佳方式:
變種myJavascriptArray = [「」項目1' ,第2' 項, '項目3','項目4'];
並處理'Bill O'Brien'是條目之一。
另外,爲什麼要創建由單引號包圍的字符串文字? '「Bill O'Brien」'在JavaScript中工作得很好。 – Marc