我有一個ASPX頁面中的2個用戶控件。默認情況下,第二個用戶控件應該被禁用。在那個用戶控件中,我只有一個文本框。所以我找到這樣的頁面加載事件的控制:如何從代碼隱藏中禁用用戶控件?
TextBox txtLocation = (TextBox)PI_CompLocationTree.FindControl("txtLocation");
txtLocation.Enabled = false;
但我得到txtLocation爲空。如何從ASCX控件的ASPX頁面獲得控件?
我的更新Code..In aspx頁面..
<%@ Register Src="~/UserControl/PI_CompLocationTree.ascx" TagName="PI_CompLocationTree"
TagPrefix="uc1" %>
<div id="Div2">
<div class="location">
<div class="usLocation">
<uc1:PI_CompLocationTree ID="PI_CompLocationTree1" runat="server"/>
</div>
</div>
</div>
在頁面加載...
在ASCX頁面...
<asp:TextBox ID="txtLocation" CssClass="fadded_text fadded_text_ctrl" Style="width: 260px;
float: left;" runat="server" Text=""></asp:TextBox>
在ASCX代碼後面...
public partial class PI_CompLocationTree : System.Web.UI.UserControl
{
public bool EnabledTextBox
{
get { return txtLoc.Enabled; }
set { txtLoc.Enabled = value; }
}
}
首先'aspx'是'page'但'ascx'是'Control'不要將此定義 – harry180
我不是mixing..I想從ASCX TextBox控件,我應該禁用從我的ASPX代碼後面... – RobinHood
你的問題現在有這樣的意義: 你在1 aspx有2個控件。 想要從代碼隱藏的第二個「控制」中更改'TextBox'' property''Enabled'在1-st'Control'中。如果你希望從'aspx'代碼背後改變這個'property'而不是第二個'Control'的ascx,那麼只需像之前發佈的@Candie這樣的屬性。把你的問題重寫成可以理解的。 – harry180