0

これに関するいくつかの投稿を見てきましたが、なぜこれが機能しないのか理解できませんでした

$.get('@Url.Action("Edit","Contacts")', {id: parseInt($(this).attr('id')) } , function (result) {

明らかにこれは

$.get("/Contacts/Edit/" + parseInt($(this).attr('id')), function (result) {

私は置換を試してみましたが、まだ適切なIDを取得していますが、@Url.Actionsは文字列自体として表示され、これは以前のコードのように奇妙なルートを生成します.url.actionが実行されていないようですよね?

localhost:53720/@Url.Action(Edit,%20Contacts)?id=23918

エディション:実際にそのコードに対して生成されたルートは

localhost:53720/Url.Action(%22Edit%22,%20%22Contacts%22)?id=23918

もう1つは、私が行った別の試みのためのものです

誰でも理由を教えてもらえますか?

ありがとう

4

2 に答える 2

2

javascript 内の HtmlHelpers にアクセスするには、javascript コードは、javascript ファイル内ではなく、ビュー ページ内にある必要があります。

<script>
    var url = '@Url.Action("Edit","Contacts")';
    console.log(url);
</script>
于 2013-04-26T09:15:36.407 に答える
0

@Url.Actionが呼び出されてURLおらず、 が返されていないようです。

var url = '@Url.Action("Edit","Contacts")';

$.get(url, {id: parseInt($(this).attr('id')) } , function (result)

JS が上記について文句を言う場合は、制御を引き継ぐように@:事前に指定してみてくださいrazor

于 2013-04-26T09:15:06.770 に答える