如何在没有额外的&符号麻烦的情况下将正确的Url.Action传递给JQuery方法?

Chr*_*mes 28 ajax asp.net-mvc jquery asp.net-mvc-3

我试图像这样进行ajax调用:

$('#Grid').load('@Url.Action("_AgentStatesGrid", "AgentStates", new { projectId = Model.SelectedProject, siteId = Model.SelectedSite })', null, refreshComplete);
Run Code Online (Sandbox Code Playgroud)

不幸的是,它被解释为:

$('#Grid').load('/AgentStates/_AgentStatesGrid?projectId=179&siteId=0', null, refreshComplete);
Run Code Online (Sandbox Code Playgroud)

如你所见,&.amp; 有没有查询字符串的&符号(我把点插入因为,呃,网络把它解释为&符号......,你明白了)

我尝试了Url.Decode,但什么也没做.我不确定我是否理解这个问题所以我不知道如何解决它.

Ste*_*eve 56

尝试

 @Html.Raw(Url.Action("_AgentStatesGrid", "AgentStates", new { projectId = Model.SelectedProject, siteId = Model.SelectedSite })) 
Run Code Online (Sandbox Code Playgroud)

谢谢

  • 我有点失望,这是必须的.我不禁认为Url.Action的常用用例是一个链接,因此(技术上)几乎在所有情况下都需要Html.Raw(单个参数正常工作的情况比设计更偶然) .但是我想人们自2011年以来一直在努力解决这个问题,所以nuthin的枪手现在改变了...... (9认同)
  • 我只是"迷失"了一些宝贵的生命时间来调试这个可怜的bug.;) (8认同)