Error: The name 'Url' does not exist in the current context in asp.net mvc3

前端 未结 1 1553
星月不相逢
星月不相逢 2020-12-10 14:05

I added a MVC 3 View Page of type Razor to the root of the existing ASP.NET MVC 3 project. ViewName: TestView.cshtml I opened the above file and tried to add the following l

相关标签:
1条回答
  • 2020-12-10 14:48

    This is because you have created the view page in the root of the MVC project rather than in the Views folder.

    In the Views folder there is a web.config file which has the following section:

    <system.web.webPages.razor>
        <pages pageBaseType="System.Web.Mvc.WebViewPage">
            <namespaces>
                <add namespace="System.Web.Mvc" />
                ...
    

    The namespaces specified here are used to compile the views which is why you get the 'Url does not exist' error message.

    You could try to copy the contents of the web.config to the 'web.config' root but I'm not sure this is a good idea. And after doing so you may get a warning that there is no build provider registered but according to this link this will work perfectly fine.

    I believe you may then have to register a new custom RazorViewEngine to specify the new paths to search for viewas the default view engine searches for views in theViews` folder.

    I'm not sure if you may need to make any other changes but unless you need to have Views in the root folder, I would recommend you move your view to the Views folder to hopefully allow you to get it working.

    0 讨论(0)
提交回复
热议问题