3

我的代码有奇怪的问题 - 请看一下:

@Url.Action("IdeaVote","Ideas", new { IdeaID = "1", vote = "For" })

方法中的值(从调试器获取):

IdeaID=1,投票=空

现在还有一些神奇的技巧(反向投票和 IdeaID)。

@Url.Action("IdeaVote","Ideas", new { vote = "For", IdeaID = "1" })

方法中的再次值(从调试器获取):

投票=支持,IdeaID=null

方法 IdeaVote(参数)

    public int IdeaVote(string vote, string IdeaID)

我的问题是 - 为什么第二个参数总是空的?为什么会出现这种情况?

问候

编辑:

我使用 url.action 的 jQuery 方法

    $.get("@Url.Action("IdeaVote","Ideas", new { IdeaID = "1", vote = "For" })",function(data)
    {
        if (data == 1) {
            $("#imageVoteAgainst").css("border-width", 0);
            $("#imageVoteFor").css("border-width", 1);
        }

    });
4

1 回答 1

20

您没有发布代码生成的 URL,但通常Url.Action会创建 HTML 编码的链接,所以我认为您的问题是&符号被替换为&. 尝试使用Html.Raw助手来解码:

"@Html.Raw(Url.Action("IdeaVote","Ideas", new { IdeaID = "1", vote = "For" }))"
于 2013-04-28T19:40:45.850 回答