如何在我的ajax调用中访问ActionLink url参数值?

时间:2014-04-29 20:38:28

标签: jquery asp.net-mvc asp.net-ajax

我正在尝试从我的ActionLink获取一个参数值,以便在ajax调用中发送它。我的脚本看起来像这样:

    $("a.studentName").on("click", function () {
        var linkID = this.id;
        var theProp = $("linkID").attr("href");
        alert(linkID + "" + theProp);

        $.ajax({
            type: "GET",
            url: "/Controller/Action",
            data: { "data": linkID },
            dataType: "html",
            success: function (data) {
                $("theTimes").html(data);

            }

        });

    });


              @Ajax.ActionLink(stdFName, "Action", "Controller", new { studentNumber = stdNum }, null, new { @class = "studentName", id = "linkNo" + appendId.ToString() });  @: 

这会呈现如下所示的HTML:

 <a id="linkNo1" class="studentName" href="/Controller/Action?studentNumber=172" data-ajax="true">Gary</a>

我尝试过这样的测试:

        var theProp = $("linkID").attr("href");
        alert(linkID + "" + theProp);

但我只获取id的值而不是url参数值。你能帮我看一下参数值吗?感谢您对此提供任何帮助!

1 个答案:

答案 0 :(得分:0)

期待您的代码和您想要完成的事情,我建议您首先确保您了解它们之间的区别。

$(linkID).attr(...)

$("linkID").attr(...)

它们是完全不同的东西,在你清除它们之前,你将无法理解这是如何修复的。 jQuery documentation这里可能对你有所帮助。

就代码而言,对于最简单的修复,请使用以下内容 -

var linkID = this.id;
var theProp = $("#" + linkID).attr("href");
alert(linkID + "" + theProp);

var theProp = $(this).attr("href");
alert(theProp);