将多个值从View传递给Action方法

Unk*_*own 3 jquery asp.net-mvc-3

我有以下代码,我有3个与之相关的问题:

视图中的JScript:

$('#page1').load('@Url.Action("QuestionList", "Tests", new { testId = Model.Test.ID , Page = 2 })');
Run Code Online (Sandbox Code Playgroud)

测试控制器中的操作:

public ActionResult QuestionList(int testId, int Page)
    {
        // some meaningless operations here
        return PartialView("QuestionList", somevalue);
    }
Run Code Online (Sandbox Code Playgroud)

(部分视图也是QuestionList - 我尝试了另一个名字,只是为了安全起见 - 而且它再次无效)

问题:

  1. 当只使用testId时一切都很好.现在我添加了Page,Action paramter Page始终为null.
  2. 我创建了一个应该替换这两个变量的模型.新模型始终为null.
  3. 第三个问题与标题无关,但与当前问题无关 - 如何将视图中的值传递给Url.Action方法?我知道该方法是服务器端,并且带有JScript的视图在客户端上,但是我必须解决的这个最后一个问题我只是迷路了.

我已经检查了这样的线程:从视图中传递多个值,但建议的解决方案实际上是我的问题.

任何帮助将不胜感激.

Boj*_* Li 5

您是否尝试在对服务器的请求中检查您的查询字符串以确保它没有被转义?
它应该类似于

"/Tests/QuestionList?testId=1&Page=2"
Run Code Online (Sandbox Code Playgroud)

我的猜测是逃脱了:

"/Tests/QuestionList?testId=1&Page=2"
Run Code Online (Sandbox Code Playgroud)

如果这是问题,请使用@ Html.Raw()帮助程序.有关完整的解决方案,请参阅MVC3 Url.Action查询字符串生成.