2013-04-28 97 views
2

我的代码奇怪的问题 - 请看看:MVC - url.action - 第二个参数为空

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

值法(从调试器获得):

IdeaID = 1 ,投票= null

现在一些魔术技巧(反投票和IdeaID)。

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

的方法同样值(从调试器获得):

票=为,IdeaID = NULL

方法IdeaVote(参数)

public int IdeaVote(string vote, string IdeaID) 

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

问候

编辑:

我jQuery的方法与url.action

$.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); 
     } 

    }); 
+0

请问你的控制器的样子 - 我指的是参数? – codingbiz 2013-04-28 19:14:56

+0

请看编辑 – whoah 2013-04-28 19:17:46

+0

你如何使用你的Url.Action?这是用来设置锚定标签的href和? – wellers 2013-04-28 19:35:09

回答

16

你没有发表你的代码生成的URL,但在徐振祥Url.Action创建HTML编码链接,所以我认为你的情况的问题是&符号被替换为&。尝试使用Html.Raw辅助解码此:

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