将代码从.aspx文件移动到.cs文件没有任何区别

时间:2011-11-18 14:12:27

标签: c# asp.net head

我在.apsx中的<head>中有一些代码我想转到我的.cs文件。所以我只是将它移动到我的Page_Load(),它会导致一切相同吗?感谢。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
    <%
        var v = new Something(); // Want to move this to .cs
    %>
</head>
</html>

等于?

protected void Page_Load(object sender, EventArgs e)
{
    var v = new Something();
}

6 个答案:

答案 0 :(得分:2)

这取决于您要使用v的范围。 如果您想通过所有页面使其可用,只需将其声明为类成员。

答案 1 :(得分:2)

正如其他人所说,这取决于你的代码究竟在做什么。

您的代码段var v = new Something();的工作方式完全相同。

但是,执行这两段代码的时间差别很大。 Page_Load在运行实际aspx页面上的任何代码之前发生。 aspx页面本身的代码在我认为的Render事件之前不会运行。您可以查看Page Lifecycle以查看完整的活动列表。

答案 2 :(得分:1)

protected Something v;

protected void Page_Load(object sender, EventArgs e)
{
     v = new Something();
}

这更接近你所拥有的,这样你实际上仍然可以在aspx页面中使用该变量。

答案 3 :(得分:1)

它取决于您想要移动逻辑的位置 - 页面加载或任何事件触发。

答案 4 :(得分:0)

是的,或者您可以继承其他名称

答案 5 :(得分:0)

&lt; %%&gt; 在客户端渲染中运行

受保护的void Page_Load(对象发送者,EventArgs e)     {          var v = new Something();     } 运行服务器页面生命周期

所以你可以看到文章(msdn) http://msdn.microsoft.com/en-us/library/ms178135(v=vs.80).aspx