Bar*_*xto 52 c# asp.net asp.net-mvc razor
我在App_Code上创建了一个RazorFunctions.cshtml文件
@functions {
public static string GetActiveClassIf(string controllerName, string actionName = null)
{
var routeData = @HttpContext.Current.Request.RequestContext.RouteData;
string currentController = routeData.Values["controller"].ToString();
string currentAction = routeData.Values["action"].ToString();
return controllerName == currentController &&
(String.IsNullOrEmpty(actionName) || currentAction == actionName) ? "active" : "";
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译时,它给我2个错误(编译获得成功和站点工作没有问题)但错误很烦人.
RazorFunctions.cshtml作为内容(尝试编译但当然不能与cshtml文件一起使用)
Global.asax.cs是:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
ModelMetadataConfig.RegisterModelMetadata();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());
//Database.SetInitializer(new DropCreateDatabaseAlways<ApplicationDbContext>());
}
}
Run Code Online (Sandbox Code Playgroud)
和
<%@ Application Codebehind="Global.asax.cs" Inherits="Bouron.Web.MvcApplication" Language="C#" %>
Run Code Online (Sandbox Code Playgroud)
这是我第一次使用App_Code,所以我不知道还能做什么,所有搜索返回ASP.NET 1-2的结果,是剃刀甚至不存在的过时所以我不知道怎么可以我解决了这个问题
我正在使用Visual Studio 2015(以防万一)
Bar*_*xto 45
经过进一步调查后,我发现这是一个已知问题.
来源:https://support.microsoft.com/en-us/kb/3025133
ASP.NET和Web开发
当您创建Web窗体4.5 WAP并打开Web窗体页时,您会在错误列表窗口中收到以下错误:
该项目将毫无问题地运行.错误CS0234类型或命名空间名称'global_asax'在命名空间'ASP'中不存在(您是否缺少程序集引用?)错误CS0234名称空间'System'中不存在类型或命名空间名称'Linq'(是你吗?缺少程序集引用?)假设您在Visual Studio 2015 RC中使用C#和VB的新语言功能.在Web窗体页或Razor视图中使用C#或VB时收到运行时错误.
要解决此问题,请安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet包.该软件包将替代基于Roslyn的提供程序,用于ASP.NET的内置CodeDom提供程序.
Orl*_*iam 23
我遇到过同样的问题.
我手动编辑生成的文件file.cshtml.72cecc2a.cs(它在AppData\Local\Temp\Temporary ASP.NET Files\root)并更改ASP.global_asax为System.Web.HttpApplication,错误消失了.
这是生成的代码:
protected static ASP.global_asax ApplicationInstance {
get {
return ((ASP.global_asax)(Context.ApplicationInstance));
}
}
Run Code Online (Sandbox Code Playgroud)
我改成了:
protected static System.Web.HttpApplication ApplicationInstance {
get {
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会发生这种情况.
| 归档时间: |
|
| 查看次数: |
25066 次 |
| 最近记录: |