这是一款MVC3应用。我有一个Telerik网格,当点击一行时,我想弹出一个telerik窗口。该窗口将填充局部视图。我的网格很好。这是窗口的代码:
@(Html.Telerik().Window()
.Name("EditTaskWindow")
.Visible(false)
.Content(@<text><iframe id="ifrmEditTask" width="600" height="500" marginheight="0" marginwidth="0"></iframe></text>)
)
这是打开窗口的javascript:
function WFTaskGrid_onRowSelect(e) {
var url = "@(Url.Content("~/WorkflowTask/Edit/"))" + "1/2/3";
$('#ifrmEditTask').attr('src',url);
$('#EditTaskWindow').data('tWindow').center().open();
}
但是当我点击我的网格上的一行时,窗口弹出,但我得到404找不到“WorkflowTask / Edit / 1/2/3”这是我的控制器:
public ActionResult _Edit(string id, string sub, string log)
{
return PartialView();
}
我将此添加到global.asax:
routes.MapRoute(
"EditTasks", // Route name
"{controller}/{action}/{id}/{sub}/{log}", // URL with parameters
new { controller = "WorkflowTask", action = "Edit", id = UrlParameter.Optional, sub = UrlParameter.Optional, log = UrlParameter.Optional } // Parameter defaults
);
仍然得到404.有谁知道为什么?感谢
答案 0 :(得分:1)
你有和ActionResult
public ActionResult _Edit(string id, string sub, string log)
并且您已将路线指定为
routes.MapRoute(
"EditTasks", // Route name
"{controller}/{action}/{id}/{sub}/{log}", // URL with parameters
new { controller = "WorkflowTask", action = "Edit", id = UrlParameter.Optional, sub = UrlParameter.Optional, log = UrlParameter.Optional } // Parameter defaults
);
看错误??
您在行动结果_Edit
然后你有
var url = "@(Url.Content("~/WorkflowTask/Edit/"))" + "1/2/3";
仍然缺少下划线
使用现有路线可能的补救措施是添加一个动作名称,如[ActionName("Edit")]
public ActionResult _Edit(string id, string sub, string log)