【问题标题】:.net mvc2 - change view location from controller.net mvc2 - 从控制器更改视图位置
【发布时间】:2010-07-28 06:13:55
【问题描述】:

我有 2 个网址 /Data 和 /Data/{month}/{day}/{year}。

我创建了两条路线

   routes.MapRoute(
        "Data_Name",                                   
        "Data",
        new { controller = "Data", action = "DataForAnyDate" }   
    );

    routes.MapRoute(
        "DataFullDate",                                
        "Data/{month}/{day}/{year}",                        
        new { controller = "Data", action = "DataForSpecificDate"}   
    );

当我转到 /Data 时,一切正常,我看到的视图是 Views/Data/DataForAnyDate,控制器是 Data.DataForAnyDate。 当我去 /Data/12/29/2009 我想要相同的 asp 页面(相同的视图),但填充来自特定日期的数据,因此我使用 Data.DataForSpecificDate 控制器。但问题是 mvc 一直在 Views/Data/DataForSpecificDate 中查找我的视图,我希望它在 Views/Data/DataForAnyDate 中查找。

有没有办法告诉 Data.DataForSpecificDate 进入 Views/Data/DataForAnyDateview,或者有没有其他方法可以解决这个问题?

谢谢

--MB

【问题讨论】:

    标签: .net asp.net-mvc-2


    【解决方案1】:

    在 DataController 的 DataForSpecificDate 方法中,以结尾指定视图 返回视图("DataForAnyDateview")

    由于您的控制器代码未在此处发布,因此我假设您可能只有 Return View();在这种情况下,它会寻找与方法同名的视图。

    【讨论】:

    • 我使用 ViewModels,所以他们这样做:return View(viewModel);
    • 所以返回 View("DataForAnyDateview", viewModel);似乎工作,所以谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多