使用局部视图MVC3填充telerik窗口

时间:2012-05-29 14:37:17

标签: c# asp.net-mvc-3

这是一款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.有谁知道为什么?感谢

1 个答案:

答案 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)