代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

为什么从ASP.NET-MVC中的不同控制器操作调用时会得到不同的视图?

  •  0
  • leora Matt Lacey  · 技术社区  · 14 年前

    我有两个不同的控制器动作。如下图所示,一个调用与另一个调用相同的视图。健身版有许多jquery用户界面选项卡。

        public ActionResult FitnessByTab(string tab, DateTime entryDate)
        {
            return View("Fitness", GetFitnessVM(DateTime.Today.Date));
        }
    
    
        public ActionResult Fitness()
        {
    
            return View(GetFitnessVM(DateTime.Today.Date));
        }
    
        private FitnessVM GetFitnessVM(DateTime dt)
       {
            FitnessVM vm = new FitnessVM();
            vm.Date = dt;
           // a bunch of other date that comes from a database
            return vm;
        }
    

    问题是,在action fitnessbytab()中,标签加载不正确,但在fitness()中,标签加载良好。我的理解是,在这一点上,它们将如何通过相同的代码路径。如您所见,我将两个日期都硬编码为同一日期,以确保它不是导致问题的不同日期。

    编辑

    问题已经解决。这是我所有链接的相对引用。在使用Firebug之前,我没有发现任何问题,因为Firebug突出显示了由于 “……/” 而不是 内容(“

    2 回复  |  直到 14 年前
        1
  •  0
  •   Darin Dimitrov    14 年前

    根据你所展示的,很难确定问题从何而来。我想你错过了一些重要的细节。还有,为什么在你的问题标题中,你谈论的是重定向?两个操作呈现相同的视图,这里没有发生重定向。

    如果您的代码真的像这样,那么您肯定不需要这两个操作,因为第一个操作完全忽略了它的参数,而且结果应该是相同的。你怎么称呼这些行为?是这样吗?

    返回的类型是什么 GetFitnessVM 方法?如果它是字符串,那么这可能是您的问题。

        2
  •  0
  •   leora Matt Lacey    14 年前

    问题已经解决。这是我所有链接的相对引用。在使用Firebug之前,我没有遇到任何问题,因为它突出显示了一些由于“../../”而缺少的引用,而不是url.content(”

    推荐文章