首页 > 解决方案 > ASP.NET 中 .aspx 页面中剃刀语法的替代方法

问题描述

我正在尝试使用 .aspx 页面在 ASP.NET 上创建一个项目。与 .aspx 页面不同,该项目还包含支持 razor 语法的 .cshtml 文件。现在,我对 Web 编程相当陌生,并且不太熟悉在 .cshtml 中使用 razor 语法的替代方法,或者是否可以在 ASP.NET 中仅使用 .cshtml 视图,从而完全避免使用 .aspx 页面。

例如,我如何实现此代码(在 .cshtml 中有效)

@AntiForgery.GetHtml()

在 .aspx 页面中

以下是我想在 .aspx 中实现但不能实现的更多代码示例:

<div class="form-group">
    <label for="exampleInputEmail1" @if(!ModelState.IsValidField("email")) 
        { <text> class="error-label" </text> }>
        Email address
    </label>                    
    <input type="text" class="form-control" id="email" name="email" 
    value="@email" @Validation.For("email")/>
    @Html.ValidationMessage("email")
</div>

标签: asp.netrazor

解决方案


您的项目似乎是一个 ASP.NET MVC 项目,混合了 ASPX 视图引擎和 Razor 视图引擎。Razor 语法和 .cshtml 只是 Razor 视图引擎的一部分,而 .aspx 页面属于 ASPX 视图引擎,它们都来自 Web MVC 框架。当然,您可以完全使用 .cshtml 页面(Razor View),这只是 View Engine 的问题。但我不确定你是否熟悉 MVC 模式。


推荐阅读