我有自己的路线:
routes.MapRoute(
"Index", // Route name
"Index/{date}", // URL with parameters
new { controller = "Index", action = "Index",
date = UrlParameter.Optional } // Parameter defaults
如何在索引控制器中调用我的方法?
[HttpPost]
public ActionResult GetIndexationWage(string BeginDate, string EndDate)
{
...
}
当我尝试这个时:
$.ajax({
url: '@Url.Action("GetIndexationWage")',
type: 'POST',
data: JSON.stringify(myVar),
dataType: 'json',
processData: false,
contentType: 'application/json; charset=utf-8',
success: function(data) {
....
它返回我的页面(/ Index)但不是json数据。如何在没有单独的控制器的情况下执行此操作(实例 - ajaxController)?
答案 0 :(得分:1)
您的MVC控制器方法应使用JsonResult
此外,正如您现在的代码一样,您的Index方法签名只有一个参数(日期),因此调用您的其他方法GetIndexationWage
必须从其他地方获取它的“结束日期”参数。如果那是有意的,好的......只要确保你看到了。
此外,您的jquery调用直接调用GetIndexationWage,而不是使用该路由。这也是有意的吗?如果是这样,请确保使用JsonResult并知道您绕过了映射路径。