[英]Change the DIV tag height on master page from codebehind
我無法更改 母版頁上div項目的背景顏色和高度。
我在default.aspx頁上有一個按鈕,它位於母版頁的“內部”。 我在default.aspx上具有<%@ MasterType ...元素,並具有一個稱為“ selectedPanel”的公共枚舉屬性。 當我單擊default.aspx頁面上的按鈕時,“ selectedPanel”屬性正在更改,但是瀏覽器上沒有任何反應。
當我調試時,“ selectedPanel”的屬性集{...}被很好地觸發。 在我看來,“ selectedPanel”屬性更改后,缺少一些“刷新”或類似內容。
頁面邏輯如下:單擊default.aspx->在母版頁上設置“ SelectedPanel”屬性->在母版頁上更改“ searchPlace” DIV的背景顏色。
我在這個網站上閱讀了所有其他問題,但是我的項目出了點問題...
Reg.Master頁面
<%@ 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;
}
問題出在Ajax updatePanel周圍。 我無法在updatePanel之外更新DIV(searchPlace)屬性。
母版頁:
<div id="container">
<%-- Search --%>
<asp:ContentPlaceHolder ID="cphSearch" runat="server">
</asp:ContentPlaceHolder>
</div>
Default.aspx頁:
<asp:Content ID="cntSearch" ContentPlaceHolderID="cphSearch" runat="server">
<asp:UpdatePanel ID="updSearch" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<div id="searchPlace" runat="server"> <-- DIV tag moved here
<asp:Button ID="btnChangeColor" runat="server" onclick="changeColor" Text="Button" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
Default.aspx.cs上的事件句柄 :
searchPlace.Style.Add(HtmlTextWriterStyle.Height, "300px");
searchPlace.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Black");
updSearch.Update();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.