我在.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();
}
答案 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