gpt4 book ai didi

asp.net - 在没有 Visual Studio 的情况下使用 Razor? System.Web.WebPages.Html.HtmlHelper 与 System.Web.Mvc.HtmlHelper

转载 作者:行者123 更新时间:2023-12-02 10:51:04 26 4
gpt4 key购买 nike

我正在尝试使用 Razor 的一些功能创建一个网站,但不使用 Visual Studio。主要原因是我目前主要在 Mac 上工作,我想使用 Coda 来编辑页面。

我不需要一个可编程的网站,就数据库访问而言,诸如此类的事情,但我想使用RenderPartial,这样我就可以分割页面并实现一些常见的功能,例如菜单等上。

所以,我尝试了以下方法:

  1. 我在 IIS7 下创建了一个新网站
  2. 我放入了一个包含以下代码的 .cshtml 文件:@DateTime.Now
  3. 我通过 Chrome 打开了它

这显示了当前日期和时间,因此 Razor 引擎正在执行。

然后我尝试了以下代码:

@Html.RenderPartial("menu.cshtml")

我收到此错误消息:

c:\inetpub\drip\dev2\index.cshtml(1,12): error CS1061: 'System.Web.WebPages.Html.HtmlHelper' does not contain a definition for 'RenderPartial' and no extension method 'RenderPartial' accepting a first argument of type 'System.Web.WebPages.Html.HtmlHelper' could be found (are you missing a using directive or an assembly reference?)

显然,标识符 Html 引用的类与我预期的不同。

那么,有关于如何执行此操作的教程吗?这有可能吗?

这段代码:

@Html.GetType().FullName

输出:

System.Web.WebPages.Html.HtmlHelper

我不需要使用 Html 作为标识符,如果我可以创建自己的变量引用正确的对象/类型/类实例,那对我来说就足够了。

最佳答案

Clearly, the identifier Html refers to a different class than I expected.

是的,它指的是System.Web.WebPages.Html.HtmlHelper由网页使用​​。在 ASP.NET MVC 中,它是 System.Web.Mvc.HtmlHelper类。

模板的基类是 WebPage类,而在 ASP.NET MVC 中它是 WebViewPage类。

但是由于您使用的是网页,因此您只能依赖它定义的方法。例如,如果您想包含部分内容,您可以执行以下操作:

~/_SiteLayout.cshtml:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>test</title>
</head>
<body>
@RenderBody()
</body>
</html>

~/Default.cshtml:

@{  
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Welcome to my Web Site!";
}
<div>Welcome</div>

@RenderPage("Menu.cshtml")

~/Menu.cshtml:

@{  
Layout = null;
}
<div>Some menu</div>

web.config:

<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>

您可以查看WebPages documentation 。那里有很多教程。

关于asp.net - 在没有 Visual Studio 的情况下使用 Razor? System.Web.WebPages.Html.HtmlHelper 与 System.Web.Mvc.HtmlHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9296367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com