我在已安装的模板中没有全局应用程序类代码隐藏。我所拥有的只是Global.asax。使用 Global.asax.cs ,我觉得更舒服。
答案 0 :(得分:31)
那是因为您创建了一个Web站点而不是Web应用程序。我建议您使用预先配置的Web应用程序模型,但如果您需要使用网站,则可以执行以下操作:
~/Global.asax
:
<%@ Application CodeFile="Global.asax.cs" Inherits="AppName.MyApplication" Language="C#" %>
~/Global.asax.cs
:
namespace AppName
{
public partial class MyApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
}
}
}
现在在VS中重新打开您的网站。
答案 1 :(得分:4)
是@ Darin的答案是对的,可以在Web应用程序中看到cs / vb文件,但在网站中你不能有单独的cs / vb文件。
Global.asax没有cs文件,但您可以编写代码....
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
}
</script>
答案 2 :(得分:2)
实际上在VS 2010标准网站中,Global.asax的设计不存在代码隐藏文件。那么该怎么办?您必须使用这样的内联代码模型。
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<script Language="C#" RunAt="server">
void Application_Start(object sender, EventArgs e)
{
}
void Application_End(object sender, EventArgs e)
{
}
void Application_Error(object sender, EventArgs e)
{
}
void Session_Start(object sender, EventArgs e)
{
}
void Session_End(object sender, EventArgs e)
{
}
</script>
答案 3 :(得分:1)
按Ctrl + Shift + A并从列表中添加全局应用程序类
答案 4 :(得分:0)
<强>序言强>
我无法理解达林的答案,因为他没有遵守全球级的命名标准,并且应该得到应有的尊重。我需要VS2005的解决方案,而不是2010年,但我相信这个解决方案永远不会有效。
在asp.net 2.0中为Global.asax文件添加CodeBehind
删除所有当前的Global.asax和Global.cs文件或尝试修复此问题。
好的,一旦消失,转到项目的根文件夹,右键单击并选择Add New Item ...
选择Global Class,然后单击OK
现在再次返回根文件夹,右键单击并选择一个新类
将此类命名为Global.cs
是的 - 允许它保存在app_code
文件夹中。不要说不,并允许它放在根文件夹中。 必须在 app_code文件夹中。
编辑Global.asax文件并剪切(剪切/粘贴)<script>
标记内的代码。该文件应如下所示,并添加Inherits标记..
<%@ Application Language="C#" Inherits="Global" %>
<script runat="server">
//do not put any code here
</script>
转到app_code中的global.cs文件,然后粘贴你从Global.asax文件中删除的代码。
app_code中的global.cs文件现在看起来应该是这样......
/// <summary>
/// Summary description for Global
/// </summary>
public class Global : System.Web.HttpApplication
{
public Global()
{
//
// TODO: Add constructor logic here
//
}
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
}
现在我们有Global.asax文件和代码隐藏文件Global.asax.cs与类名。通过这样做,我们可以继续访问网站中任何位置的静态变量。
答案 5 :(得分:-2)
它们两个文件相同“global.asax”与网站相关,“global.asax.cs”与Web应用程序相关。编码标准在两者中都是相同的
答案 6 :(得分:-2)
您不需要创建新的glabal库类,因为在创建新的Web应用程序或网站时,您的应用程序本身在解决方案资源管理器中已经有一个名为global.asax.cs的项目。