.NET更改在MVC4中搜索位置Web视图

时间:2013-06-14 19:01:27

标签: visual-studio-2010 asp.net-mvc-4 razor

我是网络语言的新手。 我在visual studio 2010上开始了一个.NET项目,它是MVC 4和razor结构。

问题是我在views文件夹中有一个文件夹,里面有一个视图,但是当我尝试访问视图时出现了这个错误:

The view 'searchWeb' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Home/searchWeb.aspx
~/Views/Home/searchWeb.ascx
~/Views/Shared/searchWeb.aspx
~/Views/Shared/searchWeb.ascx
~/Views/Home/searchWeb.cshtml
~/Views/Home/searchWeb.vbhtml
~/Views/Shared/searchWeb.cshtml
~/Views/Shared/searchWeb.vbhtml

我猜他没有在正确的文件夹中搜索...但是如何更改? 我看了一些主题,显然我必须创建一个新的viewEngine并从旧的继承? 是否可以在不制作新视图引擎的情况下修复它?或者你能告诉我如何制作新的视图引擎吗?谢谢!

编辑:

这是我的homeController.cs:

namespace Searcher.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult homeWeb()
        {
            ViewBag.Message = "Searching for sites over the web.";

            return View();
        }

        public ActionResult homeImages()
        {
            ViewBag.Message = "Searching for images over the web.";

            return View();
        }

        public ActionResult homeVideos()
        {
            ViewBag.Message = "Searching for videos over the web.";

            return View();
        }

        [HttpPost]
        public ActionResult searchWeb()
        {
            // do something with the search value
            return View();
        }
    }
}

这是我的homeWeb,它正在调用searchWeb:

@{
    ViewBag.Title = "Search Web";
}
@section featured {
    <section class="featured">
        <div class="content-wrapper">
            <hgroup class="title">
                <h1>@ViewBag.Title.</h1>
                <h2>@ViewBag.Message</h2>
            </hgroup>
        </div>
    </section>
}

@using (Html.BeginForm("searchWeb", "Home", FormMethod.Post, new { id = "searchForm" }))    
{ 
    <div class="main-block">
        <p>
            <div>
                <input size="200px" type="text" name="searchValue" />
            </div>
            <div>
                <input type="submit" value="Submit" />
            </div>
        </p>
    </div>
}

2 个答案:

答案 0 :(得分:0)

不推荐更改视图搜索位置。相信我:)。特别是对于MVC中的新手。 你不需要改变它,这必须在盒子里工作。 因此,确保视图位置正确。我可以看到这个视图你需要创建动作 在Home Controller中如

    public ActionResult searchWeb()
    {            
        return View();
    }

或者您试图将该视图称为部分视图?

答案 1 :(得分:0)

那么你的searchWeb.cshtml文件在哪里? 您的控制器告诉视图引擎在Home控制器中查找search.Web.cshtml文件,该文件通常转换为 〜/ View / Home / searchWeb.cshtml(您在问题中提到的默认搜索位置之一)。