• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マスターページからコンテンツページのメソッドを実行したい)

マスターページからコンテンツページのメソッドを実行したい

このQ&Aのポイント
  • マスターページからコンテンツページのメソッドを実行する方法についての質問です。
  • マスターページとコンテンツページの関連性や、メソッドの実行手順について知りたいです。
  • SEOを意識したタイトルと要約文、さらにハッシュタグの作成をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

---------- ※単純解答 ---------- public partial class Site1 : System.Web.UI.MasterPage {   protected void Page_Load(object sender, EventArgs e)   {     TextBox l_txt = new TextBox();     l_txt.Text = this.呼出();     this.Page.Form.Controls.Add(l_txt);   }   private string 呼出()   {     WebForm1 l_frm = (WebForm1)this.Page;     return l_frm.メソッド();   } } ---------- ※別解 ---------- マスタを利用するってことは、埋め込むフォームが変わるはずです。 埋め込まれるフォームはベースクラスを利用した作りにして、マスタからのメソッド呼び出しはベースクラスのメソッドを呼ぶと、スマートな作りになると思います。 [childpage.cs]をプロジェクトに新規追加 public class childpage : System.Web.UI.Page {   //継承可能なメソッド1   public virtual string メソッド()   {     return "未設定";   }   //継承可能なメソッド2   public virtual string メソッド2()   {     return "親です";   } } [WebForm1.aspx.cs]を改造 public partial class WebForm1 : childpage {   // このメソッドを省略すると、ベースのメソッドを実行する   public override string メソッド()   {     return "XXXXXXX";   }   // おまけ   public override string メソッド2()   {     //親のメソッド2との合わせ技     return String.Format("親を呼ぶと【{0}】が返る", base.メソッド2());   } } [Site1.Master.cs]も改造 (単純解答を改造) private string 呼出() {   childpage l_frm = (childpage)this.Page;   return l_frm.メソッド(); }

kasukon
質問者

お礼

私が尋ねた質問は『※単純解答』で解決することが出来ました。 が、『※別解』を見て目からうろこの状態です。 まさに、私がやらなければいけない解答がここに書かれていました。 1050YEN様ほんとうにありがとうございました。 解決の糸口がはっきりと見えました。

関連するQ&A