有3个下拉列表正在几个地方使用。所以我决定把它们放在一个userControl中。如何在ASP.NET中设置usercontrol属性的值?
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="DetailsDropDownList.ascx.vb"
Inherits="UserControls_DetailsDropDownList" %>
<asp:DropDownList ID="dedMoth" runat="server"></asp:DropDownList>
<asp:DropDownList ID="dedDay" runat="server"></asp:DropDownList>
<asp:DropDownList ID="dedYear" runat="server"></asp:DropDownList>
在后面的代码中,我定义了一个属性,以便捕获要显示的值。
public DateTime DetailsDate { get; set; }
所以我设置的属性是这样的:myUserControl.DetailsDate = myObject.myDate
的问题是,没有值被设置。当我设置断点时,我注意到UserControl的生命周期在主页面之后开始。
我试过这个,但没有运气。
<uc1:DetailsDropDownList runat="server" ID="myUserControl"
DetailsDate ="<%= myObject.myDate%>" />
那么如何设置UserControl的值?
看起来像在生命周期的早期设置值。你可以设置** Page_Load **内的值,并看到它的作品? – Win
哪个页面加载,主页面或usecontrol的? – Richard77
据推测,主页正在调用'myUserControl.DetailsDate = myObject.myDate',所以它应该在Page的'Page_Load'事件中。 –