我有一个单选按钮如下:
<input type="button" value="Select address" onclick="selectAddress(@item.Id)" />
然后,以下javascript:
<script>
$(function () {
function selectAddress(selectedId) {
if ($('#TermsAccepted').is(':checked')) {
setLocation('@Url.RouteUrl("SelectCustomerAddress", new { addressId = selectedId})')
}
else {
$('#checkErrorMsg').toggle();
}
}
})
</script>
问题是代码有语法错误,因为混合razor和javascript不知道selectedId。有没有办法解决这个问题?
答案 0 :(得分:1)
您需要在javascript而不是Razor中创建您的网址:
<script>
$(function () {
function selectAddress(selectedId) {
if ($('#TermsAccepted').is(':checked')) {
setLocation(
'@Url.RouteUrl("SelectCustomerAddress")?addressId='+selectedId);
}
else {
$('#checkErrorMsg').toggle();
}
}
})
</script>