我有我已經加入到我的web.config如何使用戶控件在母版公開所有子網頁
<add tagPrefix="BCF" src="~/controls/MyMessageBox.ascx" tagName="error"/>
,並添加到我的母版頁現在
<BCF:error ID="BCError" runat="server" Visible="false" />
我需要一個用戶控件能夠從使用該主頁面的所有子頁面引用此控件及其公共屬性。我這樣做是我的BasePage OnLoad事件
public UserControl BCError;
BCError = (UserControl)Master.FindControl("BCError");
問題是,雖然我可以在.aspx頁面
BCError.Visible = true;
我不能引用任何我已經把控件的屬性做到這一點?如ShowError ..如果我做
BCError.ShowError = "Error Message";
我剛剛得到一個錯誤說
「System.Web.UI.UserControl」不包含一個定義爲「ShowInfo」,沒有擴展方法「ShowInfo '
請你指點我正確的方向!
這是用戶控件的代碼...我可以在後面的母版頁代碼中使用屬性(並且在頁面中,如果我直接將控件放入其中),但不能在後面的子頁面代碼中使用它們? ?它甚至不顯示智能感知中的屬性或包裝方法?
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class MyMessageBox : System.Web.UI.UserControl
{
#region Properties
public bool ShowCloseButton { get; set; }
#endregion
#region Load
protected void Page_Load(object sender, EventArgs e)
{
if (ShowCloseButton)
CloseButton.Attributes.Add("onclick", "document.getElementById('" + MessageBox.ClientID + "').style.display = 'none'");
}
#endregion
#region Wrapper methods
public void ShowError(string message)
{
Show(MessageType.Error, message);
}
public void ShowInfo(string message)
{
Show(MessageType.Info, message);
}
public void ShowSuccess(string message)
{
Show(MessageType.Success, message);
}
public void ShowWarning(string message)
{
Show(MessageType.Warning, message);
}
#endregion
#region Show control
public void Show(MessageType messageType, string message)
{
CloseButton.Visible = ShowCloseButton;
litMessage.Text = message;
MessageBox.CssClass = messageType.ToString().ToLower();
this.Visible = true;
}
#endregion
#region Enum
public enum MessageType
{
Error = 1,
Info = 2,
Success = 3,
Warning = 4
}
#endregion
}
感謝回答,但我如何引用母版?或者,我的智能感知系統中的用戶控件會自動顯示在子頁面中嗎? – leen3o 2009-04-20 15:40:04
Thhanks我已經添加了代碼..我迷惑..根據上述,控制完美地在後面的主頁代碼和如果我把控制權直接放入一個頁面..但試圖引用它在主頁從一個子頁面,它只是不承認公共屬性/包裝方法?任何想法將非常讚賞.. – leen3o 2009-04-20 17:03:09