32

そのため、(MVC-4 ビューで) かみそり '@' 表記を使用して JavaScript 関数にパラメーターを渡そうとしていますが、構文エラーが発生しています: "Unterminated string constant"

これを書くべき別の方法はありますか?

@foreach (var item in Model)
{
 ...
    <input type="button" value="Assign" onclick="AssignButtonClicked('@item.ID')" />
}

この回答と同じ構文を使用しましたhttps://stackoverflow.com/a/5179316/1662619

編集:

これは単なる構文エラーです。機能は引き続き動作します

4

6 に答える 6

43

JQuery .data()を使用できる場合

<input type="button" value="Assign" onclick="AssignButtonClicked(this)" 
       data-assigned-id="@item.ID" />

さらに、次を使用して取得できます

function AssignButtonClicked(elem){
     var id= $(elem).data('assigned-id');
}
于 2013-08-19T12:00:48.743 に答える
14

これを試して

 <input type="button" value="Assign"
   onclick="@("AssignButtonClicked('"+item.ID+"')")"  />
于 2013-08-19T11:39:09.493 に答える
4

これを試して、

 <input type="button" value="Assign" onclick="AssignButtonClicked(@item.ID);" />

脚本

<script type="text/javascript">

 function AssignButtonClicked(obj) {
        alert(obj);
        return false;
    }
</script>
于 2013-08-19T10:42:45.877 に答える