WebMatrix - 为CSHTML页面创建控制器

时间:2013-02-07 06:37:22

标签: c# asp.net asp.net-mvc razor webmatrix

我正在使用WebMatrix开发一个网站。我最近问了一个关于从数据库中获取数据的问题。当我尝试在我的CSHTML页面中编写数据逻辑时,我很快被告知我做错了,因为我与MVC的主体相矛盾。问题是,在Visual Studio 2010中我很容易使用MVC,每个页面都有一个视图page.aspx和一个控制器page.aspx.cs,但在WebMatrix中,我使用的是Razor C#语法,所以我的页面只是一个page.cshtml文件。当我创建新站点或新文件时,没有MVC模板,所以我必须自己创建视图和控制器。

如何在page.cshtml中显示使用控制器从数据库中获取的数据(我的控制器是'page.cshtml.cs'?)?换句话说,如何将页面数据逻辑与其实际内容/标记/视图分开?

1 个答案:

答案 0 :(得分:3)

我认为您将ASP.NET MVC与WebMatrix WebPages混淆。您只使用WebPages,其中所有代码都在Razor模板中。没有控制器的概念。

但即使在WebMatrix中,您也可以将数据访问代码分开到单独的文件中。创建一个名为~/App_Code的特殊文件夹,在此文件夹中可以创建.NET类。例如,您可以拥有一个DataAccess.cs文件,您可以在其中放置数据访问逻辑。您还可以引用已创建的外部程序集。例如:

@using MyNamespace

@{
    DataAccess myClass = new DataAccess();
    ...
}