我有以下代码,我有 3 个与之相关的问题:
View 中的 JScript:
$('#page1').load('@Url.Action("QuestionList", "Tests", new { testId = Model.Test.ID , Page = 2 })');
测试 Controller 中的操作:
public ActionResult QuestionList(int testId, int Page)
{
// some meaningless operations here
return PartialView("QuestionList", somevalue);
}
(部分 View 也是 QuestionList - 我尝试使用另一个名称,只是为了安全起见 - 但它不再起作用)
问题:
- 当仅使用 testId 时,一切都很好。现在我添加了 Page,操作参数 Page 始终为空。
- 我创建了一个模型来替换这两个变量。新模型始终为空。
- 第三个问题与标题无关,而是与当前问题相关 - 如何将值从 View 传递到 Url.Action 方法?我知道该方法是服务器端的,而 JScript 的 View 是在客户端上的,但是对于我必须解决的最后一个问题,我迷失了方向。
我已经检查过这样的线程:Pass multiple values from view ,但提出的解决方案实际上是我的问题。
任何帮助将不胜感激。
最佳答案
您是否尝试检查向服务器发出的请求中的查询字符串以确保它没有被转义?
它应该类似于
"/Tests/QuestionList?testId=1&Page=2"
我猜它正在被转义:
"/Tests/QuestionList?testId=1&Page=2"
如果这是问题所在,请使用 @Html.Raw() 帮助器。请参阅MVC3 Url.Action querystring generation以获得完整的解决方案。
关于jquery - 将多个值从 View 传递到操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9589970/