コンテンツページからのマスターページへのアクセスで、コントロール、イメージボタンが正確に見つかりました。マスターページのHTMLコードを以下に示します。そうすることで、私はMasterPage。クラス内の.FindControl
<body>
<form id="form1" runat="server">
<div class="navLeft">
<br />
<asp:ImageButton ID="imgbtnMooring" runat="server"
Height="60px" ImageUrl="~/Item/RibbonIcon/Dashboard.png" />
<br />
</div>
<div class="navTop">
</div>
<div class="banner">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
<div class="divider">
<asp:ContentPlaceHolder id="ContentPlaceHolder2" runat="server">
</asp:ContentPlaceHolder>
</div>
<div class="content">
<asp:ContentPlaceHolder id="ContentPlaceHolder3" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
成功私は今、ファイル
string validMooring = "";
comm = new SqlCommand("SELECT * FROM dbo.StructureCurrent", conn);
conn.Open();
reader = comm.ExecuteReader();
while (reader.Read())
{
validMooring = reader["StructureMooring"].ToString();
}
switch (validMooring)
{
case "YES":
(Page.Master.FindControl("imgbtnMooring") as ImageButton).Enabled = true;
(Page.Master.FindControl("imgbtnMooring") as ImageButton).ImageUrl = "~/Item/RibbonIcon/Dashboard.png";
break;
case "NO":
(Page.Master.FindControl("imgbtnMooring") as ImageButton).Enabled = false;
(Page.Master.FindControl("imgbtnMooring") as ImageButton).ImageUrl = "~/Item/RibbonIcon - Grey/DashboardGrey.png";
break;
default:
break;
}
aspx.csコンテンツページに次のコードを入れたとき、私はクラスファイルを作ってみます上記のコードを任意のコンテンツページにアクセスできるようにGeneralClassという名前を付けました。 sqlコマンドは、サーバーからYES/NO値を抽出するだけです。そのため、私の問題に対して無視できるものと考えています。続き
はGeneralClassクラスファイル内のコードです:
MasterPage masterPage = new MasterPage();
masterPage.MasterPageFile = "~/GeneralLayout.master";
string validMooring = "";
comm = new SqlCommand("SELECT * FROM dbo.StructureCurrent", conn);
conn.Open();
reader = comm.ExecuteReader();
while (reader.Read())
{
validMooring = reader["StructureMooring"].ToString();
}
switch (validMooring)
{
case "YES":
(masterPage.FindControl("imgbtnMooring") as ImageButton).Enabled = true;
(masterPage.FindControl("imgbtnMooring") as ImageButton).ImageUrl = "~/Item/RibbonIcon/Dashboard.png";
break;
case "NO":
(masterPage.FindControl("imgbtnMooring") as ImageButton).Enabled = false;
(masterPage.FindControl("imgbtnMooring") as ImageButton).ImageUrl = "~/Item/RibbonIcon - Grey/DashboardGrey.png";
break;
default:
break;
}
何とかライン(のImageButtonとしてmasterPage.FindControl( "imgbtnMooringは"))null値を返します。
誰でもこの問題を解決できますか?
これはマルチプル画像ボタン用ですか? – Fahmieyz
はいこれはページ内のすべてのコントロールで機能します。 –
私は、このイメージが複数のイメージボタンにあることを意味します。このイメージボタンには、この場合はvalidMooringのような独自の検証があります。あなたのコードから理解できるものから、複数の画像ボタンにしか使用できますが、1つの検証があります。 – Fahmieyz