Asp.net mvc 3 默认情况下,MVC3返回视图

Asp.net mvc 3 默认情况下,MVC3返回视图,asp.net-mvc-3,view,default,Asp.net Mvc 3,View,Default,基本上,我想知道是否有人知道一种方法,可以设置MVC3,使其首先查找操作,如果不存在,它将自动返回该位置的视图。否则,每次创建页面时,我都必须在添加操作后重建它 它不是阻止项目工作的东西,也不是问题,它只是一件非常好的事情,可以包含在代码中,帮助提高测试速度 编辑: 为了清晰起见,每当我创建一个没有任何逻辑的视图时,我都会这样做: public ActionResult ActionX() { return View(); } 有时,我希望在操作中包含一些逻辑,但大多数情况下,对于空白

基本上,我想知道是否有人知道一种方法,可以设置MVC3,使其首先查找操作,如果不存在,它将自动返回该位置的视图。否则,每次创建页面时,我都必须在添加操作后重建它

它不是阻止项目工作的东西,也不是问题,它只是一件非常好的事情,可以包含在代码中,帮助提高测试速度

编辑:

为了清晰起见,每当我创建一个没有任何逻辑的视图时,我都会这样做:

public ActionResult ActionX()
{
    return View();
}
有时,我希望在操作中包含一些逻辑,但大多数情况下,对于空白页面,我只需要上面的代码

如果有任何方法可以始终为每个控制器/操作组合返回上述代码,除非我已经执行了操作,否则它应该使用我指定的操作

谢谢


Jake

我不完全确定这会有多大用处(或者这是否真的是个好主意),但我想如果你有纯静态内容的页面(但可能使用布局或其他东西,因此你不能使用静态html),它可能会很有用

无论如何,这就是它的实现方式(作为基类,但不必如此)


我不完全确定这会有多有用(或者这是否真的是个好主意),但我想如果你有纯静态内容的页面(但可能使用布局或其他东西,因此你不能使用静态html),它可能会很有用

无论如何,这就是它的实现方式(作为基类,但不必如此)


为什么不为此创建一个单独的操作呢。这将查找具有指定名称的视图,如果该视图不存在,则返回404

    [HttpGet]
    public ActionResult Page(string page)
    {
        ViewEngineResult result = ViewEngines.Engines.FindView(ControllerContext, page, null);

        if (result == null)
        {
            return HttpNotFound();
        }

        return View(page);
    }
然后使默认路线返回到以下位置:

routes.MapRoute("", "{page}", new { controller = "Home", action = "Page" });

因此,对的请求将调用Page(“somepage”)

为什么不为此创建一个操作呢。这将查找具有指定名称的视图,如果该视图不存在,则返回404

    [HttpGet]
    public ActionResult Page(string page)
    {
        ViewEngineResult result = ViewEngines.Engines.FindView(ControllerContext, page, null);

        if (result == null)
        {
            return HttpNotFound();
        }

        return View(page);
    }
然后使默认路线返回到以下位置:

routes.MapRoute("", "{page}", new { controller = "Home", action = "Page" });

因此,对的请求将调用Page(“somepage”)

我不知道您实际上想要什么。我在你的问题中看到了很多不同的东西,一切都是可能的。请提供更多信息。@dknaack编辑姿势,看看是否有帮助。再问一次你是否需要更多的澄清我不知道你到底想要什么。我在你的问题中看到了很多不同的东西,一切都是可能的。请提供更多信息。@dknaack编辑姿势,看看是否有帮助。再问一次,如果你需要更多的清晰度真棒,我会给你一个机会,并给出任何反馈。工作就像一个魅力,谢谢大家。我在玩弄我的大拇指,不知道该怎么办。再次感谢!答应我,如果采用这种方法,您将使用IoC来创建控制器(并设置自定义操作调用程序),而不是基类!太棒了,我会给这一个镜头,并给出任何反馈。工作就像一个魅力,谢谢大家。我在玩弄我的大拇指,不知道该怎么办。再次感谢!答应我,如果采用这种方法,您将使用IoC来创建控制器(并设置自定义操作调用程序),而不是基类!