0

1つ奇妙なことがあります。ビューの開始時にいくつかの変数を宣言しましたが、タグではアクセスできませんでした。タグ間で同じ名前の変数を宣言できました。タグのうち、元の変数に再びアクセスできるようになりました。

おそらく、runatserver があることが理由かもしれません。コードは次のようになります。

<% var variable = something; %>
<head id="Head1" runat="server">
<%!-- <% variable = something else; %> --%> // impossible variable don't exist in this context
<% var variable = something else %> // so this row instead of last one 
...
</head>
<% if (variable == something) 
       ThisFunctionWillBeExecute();
   if (variable == somethigelse)
       ThisFunctionWillNotBeExecuted();
%>

理由がわかりません。説明をグーグルで検索することもできません。わかりますか?いくつかのリンク?コードの一部は個別に処理されますか?

この奇妙な解決策を使用する理由を聞かないでください。私はコードの作成者ではありません。コードにいくつかの変更を加えただけです。

EDITED:マスターページだと書くのを忘れていました。

4

1 に答える 1

0

ASP.NET MVC コンテキストrunat="server"では、DIV などの任意の要素でタグを使用すると、そのコードがコンパイルされたページの別のメソッドとしてレンダリングされます。そのため、既存の変数はすべてコンテキストから外れますが、そのタグで宣言された変数はrunat="server"タグの後にコンテキストから外れます。

出典: ASP.NET MVC の runat="server" タグのステータスは?

于 2012-09-07T13:14:50.090 に答える