0

マスター ページを参照するホームページの css スタイルを変更するには、マスター ページをコンテンツ ページに参​​照する必要があります。これは変更する必要がある私のコントロールで、マスター ページにあります。

<table cellpadding="0" cellspacing="14" border="0" class="navigationButtons">
      <tr>
          <td id="HomeLink" runat="server" align="center"><a href="Home.aspx"><br />Home</a></td>
          <td id="AboutLink" runat="server" align="center"><a href="About.aspx"><br />About us</a></td>
          <td id="ColLink" runat="server" align="center"><a href="Col.aspx"><br />Collections</a></td>
          <td id="RegLink" runat="server" align="center"><a href="Reg.aspx"><br />Register</a></td>
     </tr>
</table>

<td>各コンテンツ ページのスタイルを変更する必要があります。たとえば、最初にホームページのマスター ページを参照する必要があることはわかっています。しかし、私はの使い方がわかりませんFindControl。これは、サーバー側にあるものです。

HtmlGenericControl HomeLink = null;
HomeLink = (HtmlGenericControl)Master.FindControl("HomeLink");
HomeLink.Style.Add["Background-color"] = blue;

そしてもちろん、それは機能していません。お願い助けて。

4

1 に答える 1

0
  1. runat="server" を td タグに追加します
  2. FindControl は再帰的ではありません。MSDN は、「このメソッドは、コントロールが指定されたコンテナーに直接含まれている場合にのみコントロールを検索します。つまり、メソッドはコントロール内のコントロールの階層全体を検索しません」と述べています。

http://msdn.microsoft.com/en-us/library/486wc64h.aspx

public static Control FindControl(Control control, string id)
{
     if (control.Id == id)
         return control;

     foreach(Control c in control.Controls)
     {
         Control res = FindControl(c, id);
         if (res != null)
              return res;
     }

     return null;
}
于 2013-01-02T07:45:02.880 に答える