3

.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();
}
4

6 に答える 6

2

v を使用するスコープによって異なります。すべてのページで使用できるようにする場合は、クラス メンバーとして宣言するだけです。

于 2011-11-18T14:18:26.650 に答える
2

他の人が述べたように、コードが正確に何をしているかによって異なります。

コード スニペットvar v = new Something();はまったく同じように機能します。

ただし、これら 2 つのコードが実行される時間は大きく異なります。Page_Load は、実際の aspx ページのコードが実行される前に発生します。aspx ページ自体のコードは、私が信じている Render イベントまで実行されません。ページのライフサイクルを見て、イベントの完全なリストを確認できます。

于 2011-11-18T14:26:14.057 に答える
1

ロジックを移動する場所(ページの読み込み時またはイベントの発生時)によって異なります。

于 2011-11-23T10:54:22.293 に答える
1
protected Something v;

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

それはあなたが持っているものに近いです。このようにして、実際にはまだ aspx ページで変数を使用できます。

于 2011-11-18T14:37:49.917 に答える
0

はい、または他の名前に継承できます

于 2011-11-18T14:24:05.450 に答える
0

<% %> クライアント レンダリングで実行

保護された void Page_Load(object sender, EventArgs e) { var v = new Something(); サーバーページのライフサイクルを実行する

記事 (msdn) http://msdn.microsoft.com/en-us/library/ms178135(v=vs.80).aspxを見ることができます

于 2011-11-18T15:05:48.067 に答える