[英]Using c# and razor in standalone pages
到目前为止,我一直在MVC和命令行应用程序中使用razor和c#,但是如果我可以在独立网页中使用小型一次性代码段等,这也将非常有用。 d使用经典的ASP或PHP,因为它们太笨重,无法制作整个项目并编译应用程序。
我尝试仅制作一个.cshtml页面,并在其中放入一些简单的剃刀代码来循环某些日期,但是IIS不会对其进行处理。 有什么方法可以实现我想要的? 也许这是服务器问题,而不是编程问题,如果是的话,我事先表示歉意。
是的,除非我想念什么?
只需将以下web.config
添加到我的站点(Windows 8.1 Pro上为IIS 8),就意味着.cshtml
文件的工作方式与经典ASP / PHP完全相同; 即它们的URL是文件系统路径,并且Razor代码运行良好。
<configuration>
<appSettings>
<add key="webPages:Version" value="2.0"/>
<add key="webpages:Enabled" value="true" />
</appSettings>
<system.web>
<customErrors mode="Off"/><!-- I assume that for little test pages you want easy error reporting! -->
</system.web>
</configuration>
我很尴尬地承认我不知道它为什么起作用。 config键表明它正在使用ASP.NET网页,Patrick Hofman在评论中说正在逐步淘汰它; 但是我可以肯定我从未安装过Web Matrix,而所有这些操作都是通过记事本完成的。 IIS站点文件夹仅包含上述最小的web.config
,几个测试.cshtml
文件和一个测试子文件夹,以查看是否将从此处运行.cshtml
。
我之前为简单的组合式测试/实用程序站点所做的工作类似于上述针对UI的技术,但是用于程序逻辑的.cs
文件放在App_Code
文件夹中,因此.NET可以即时对其进行编译。
后者的示例,对于以前没有使用过/App_Code
:
1)创建一个/App_Code
文件夹
2)使用类定义向其添加完全正常的.cs
文件:
using System;
namespace Minimal
{
public class Boo
{
public static String Get()
{
return "BOO!";
}
}
}
3)可以神奇地进行编译,并且可以在任何常规程序集中作为代码使用。
4)因此,您可以创建如下视图:
<html>
<head></head>
<body>
<h1>@Minimal.Boo.Get()</h1>
</body>
</html>
非常方便。 甚至可以使快速组合的工具和测试变得清晰,易于开发,并且如果它们足够成熟,也可以很容易地添加到常规VS项目中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.