<input type="button" value="Delete" onclick="deleteMember(@Model.ID, '@ViewBag.returnUrl')"/>
Run Code Online (Sandbox Code Playgroud)
该代码有4个错误,2个语法错误和2个Unterminated字符串常量.
我该怎么做才能解决这些错误?

Bra*_*tie 25
你可以在一个Html.Raw电话中将其分解:
<input type="button"
value="Delete"
onclick="@(Html.Raw(String.Format("deleteMember({0}, '{1}')",
Model.ID,
Html.Encode(ViewBag.returnUrl)
)))"
/>
Run Code Online (Sandbox Code Playgroud)
或者将其分配给string第一个,然后在属性中引用该变量.
@{
String onclick = String.Format("deleteMember({0}, '{1}')",
Model.ID, Html.Encode(ViewBag.returnUrl));
}
<input type="button" value="delete" onclick="@onclick" />
Run Code Online (Sandbox Code Playgroud)
第三种选择是分开关注; 保持标记和脚本分开.尼尔打败了我,但是:
<input type="button" value="delete"
data-task="delete" data-id="@Model.ID" data-returnurl="@ViewBag.returnUrl" />
<!-- .... -->
<script>
var buttons = document.getElementsByTagName('INPUT');
for (var b = 0; b < buttons.length; b++){
if (buttons[b].type != 'button') continue;
switch (buttons[b].getAttribute('data-task') || ''){
case 'delete':
// read data-id & data-returnurl. Do something with them, and
// move on.
break;
// other actions
case 'add':
case 'update':
default:
break;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
虽然奇怪的是第一个括号与剃刀混淆(即使它在属性中声明).我自己也不会期待这种行为.
| 归档时间: |
|
| 查看次数: |
22279 次 |
| 最近记录: |