我有一个单选按钮,如下所示:

<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>


问题在于该代码具有语法错误,因为由于混合了剃刀和javascript,不知道selectedId。有办法解决这个问题吗?

最佳答案

您需要使用javascript而非Razor创建URL:

<script>
  $(function () {

    function selectAddress(selectedId) {
      if ($('#TermsAccepted').is(':checked')) {
        setLocation(
          '@Url.RouteUrl("SelectCustomerAddress")?addressId='+selectedId);
      }
      else {
        $('#checkErrorMsg').toggle();
      }
    }
  })
</script>

07-27 13:14