2015-11-12 49 views
0

我有一个click事件JavaScript事件传递报价

@foreach (var item in Model) 
{ 
    <button class="btn btn-small btn-danger btn-flat" type="button" onclick="SetDelete('@item.Id','@Html.Raw(item.Name)')"><i class="fa fa-times" title="Delete"></i></button> 
} 

问题是SetDelete('@item.Id','@Html.Raw(item.Name)')

的HTML渲染:

SetDelete('43316946-4754-4059-84CE-D893D1ED9A4D','John d'Auvergne') 

的问题是报价,我怎么格式\迎合报价'?

回答

0

如果你还没有得到关于混合报价/单引号强烈的感情,你可以这样做(翻转引号):

@foreach (var item in Model) 
{ 
    <button class="btn btn-small btn-danger btn-flat" type="button" onclick='SetDelete("@item.Id","@Html.Raw(item.Name)")'><i class="fa fa-times" title="Delete"></i></button> 
} 

如果你有关于在你的属性或动态字符串中保留双引号的强烈感受可能包含引号或单引号的混合,你可能不得不逃避它们。

SetDelete('@item.Id','@Html.Raw(item.Name.Replace("'", "\'"))') 

为了进一步整理这件事,你可以是逻辑移动到您的视图模型:

SetDelete('@item.Id','@item.NameJsEncoded')