0

这是一个 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。有人知道为什么吗?谢谢

4

1 回答 1

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)  
于 2012-05-29T15:10:37.460 回答