- - PR -
aspxファイルとaspx.csファイルについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-07 09:30
お世話になります。
早速ですが、aspxファイルに宣言した変数の値を aspx.csファイルのForm_Loadにて取得したいと思っております。 ===== イメージ(aspx) ===== <%@ language="c#" Codebehind="hoge.aspx.cs" AutoEventWireup="false" Inherits="hoge.hoge" %> <% PageID="ID001"; %> ←このようにaspxファイルにて宣言 ===== イメージ(aspx.cs) ===== protected String PageID; private void Page_Load(object sender, System.EventArgs e) { String hoge=PageID; } このようなソースを書いてテストしておりますが、 nullが返ってきます。 aspxファイルで記載した値を取得する方法が あれば教えて頂ければと思います。 宜しくお願いします。 | ||||
|
投稿日時: 2006-08-07 10:45
> aspxファイルで記載した値を取得する方法が
> あれば教えて頂ければと思います。 ありません、が正解かな。 aspxファイルとaspx.csファイルの関係なのですが、 ・aspx.csファイルが親 ・aspxファイルが子 この親子の継承関係になります。 子の内部変数を親から操作することはできないので、無理ということになります。 | ||||
|
投稿日時: 2006-08-07 11:03
<% 〜 %> はPage.Renderで走るので、その後なら取得できます。
# 取得できてもタイミングが遅すぎて使いようがない。 | ||||
|
投稿日時: 2006-08-07 12:44
どうしてもページ側でやりたいなら、
なんて方法もありますが。ちょっと求めているものと違いますよね。 _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-08-07 14:11
ああ、cs側でprotectedで定義されてるの見落としてた。
ということで、見えないラベルを貼ってそこに書いておくというのはどうでしょう。 <asp:Label ID="PageID" runat="server" Text="ID001" Visible="False" /> とりだすのは、 String hoge=PageID.Text; で。 | ||||
|
投稿日時: 2006-08-07 18:31
皆様有難う御座いました。
要件としましては(今更ですが・・・) aspxファイルをデザインしているチームがそのバージョンを aspxファイル内に記載。 それを、aspx.cs内で取得してログにそのバージョン等その他諸々の 情報を書き出す。という物でした。 デザインチームはレガシーなaspならなんとか判る程度ですので ログの書き出しをRenderイベントにずらして対処するのが ベストかな・・・と思いました。 ありがとうございました。 |
1