c# – ASP.net MVC是否查看“类”?

在所有事情之前,我只是出于好奇而做.这里没有任何现实世界的应用,但只是为了知识和修补…

ASP.NET Views具有Model和ViewData等属性,甚至还有方法.

你甚至可以像普通的class.cs文件一样使用@Using.

我知道它是类型WebPageView< TModel>

我的主要问题是:是班吗?

应该是因为它是一种类型,但是..

我应该也可以这样做(剃刀引擎):

@{
   public class Person
   {
       //etc...
   }

   var p = new Person();
}

<span>@p.Name</span>

但是我不能..为什么?

注意:目前一个C#,ASP.net初学者.

解决方法

您不能这样做,因为Razor标记被编译成从WebViewPage或WebViewPage< TModel>派生的生成类中的方法内的语句序列.

更重要的问题是,为什么要这样做?相反,倾向于保持Razor没有这种逻辑 – 它的工作应该是生成布局,而不是做任何类型的业务逻辑或业务数据转换.在您的操作方法中做所有的重大举措,并提供一个模型,描述以仅需要简单的Razor标记进行处理的格式呈现布局所需的数据.

有一些教程描述如何接近MVC和剃刀.我挖了一个简短的例子,但是做了一个合理的工作,涵盖一个端到端的故事,可能会帮助你获得这个想法.它包括使用EF来获取数据,这可能更多是你讨价还价的 – 但值得一读,以获得整个架构如何挂起的全貌:http://weblogs.asp.net/shijuvarghese/archive/2011/01/06/developing-web-apps-using-asp-net-mvc-3-razor-and-ef-code-first-part-1.aspx

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...