マスターページのdivアイテムの背景色と高さを変更できません。
マスターページの「内部」にあるdefault.aspxページにボタンがあります。default.aspxに<%@ MasterType ...要素があり、「selectedPanel」というパブリック列挙型プロパティがあります。default.aspxページのボタンをクリックすると、「selectedPanel」プロパティが変更されますが、ブラウザで何も起こりません。
「selectedPanel」のプロパティset{...}は、デバッグ時に正常に起動されます。「selectedPanel」プロパティが変更された後、「refresh」または同様のものが欠落しているように見えます。
ページロジックは次のとおりです。default.aspxをクリックします->マスターページの「SelectedPanel」プロパティを設定します->マスターページの「searchPlace」DIVの背景色を変更します。
このサイトで他のすべての質問を読みましたが、私のプロジェクトに何か問題があります...
登録マスターページ
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="reg.Master.cs" Inherits="Reg.Reg" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="App_Themes/Default/reg.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div id="container">
<div id="searchPlace" runat="server">
<%-- Search --%>
<asp:ContentPlaceHolder ID="cphSearch" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
</form>
</body>
</html>
Reg.Master.csページ
public enum panelItem
{
simpleSearch,
advancedSearch,
newItem
}
ここでDIVの背景色を変更したいのですが:
public panelItem selectedPanel
{
set
{
if (value == panelItem.simpleSearch)
{
searchPlace.Style.Add(HtmlTextWriterStyle.BackgroundColor, "green");
}
else if (value == panelItem.advancedSearch)
{
searchPlace.Style.Add(HtmlTextWriterStyle.BackgroundColor, "black");
}
}
}
Reg.cssファイル
#searchPlace
{
float:left;
top: 100px;
width:800px;
height:350px;
padding-left: 10px;
padding-right: 10px;
}
Default.aspxページ
<%@ Page Title="Reg" Language="C#" MasterPageFile="~/reg.Master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Reg._default" %>
<%@ MasterType VirtualPath="~/reg.Master" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="cntSearch" ContentPlaceHolderID="cphSearch" runat="server">
<asp:UpdatePanel ID="updSearch" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Button ID="btnChangeColor" runat="server" onclick="changeColor" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
Default.aspx.csファイル
protected void btnChangeColor_Click(object sender, EventArgs e)
{
Master.selectedPanel = Reg.panelItem.simpleSearch;
}