簡體   English   中英

在aspx頁面中設置的Web用戶控件值

[英]web user control value set in aspx page

這可能嗎,我有一些C#代碼將Web用戶控件添加到aspx頁面上,如下所示:

 UserControl myUserControl;
 myUserControl = (UserControl)LoadControl("../TempLayouts/LayoutSize.ascx");
 PlaceHolder1.Controls.Add(myUserControl);

在我的ascx上,我有以下代碼:

private int Edit_Mode = 0;
public int Get_EditMode
{
    get { return Edit_Mode; }
    set { Edit_Mode = value; }
}
protected void Page_Load(object sender, EventArgs e)
{ if(Edit_Mode == 1)//do something}

在上面的代碼(屬性)中調用Web用戶控件時,如何將Edit_Mode值設置為1?

這有可能不用鑄造嗎?

您需要在aspx文件中添加一個類引用,如下所示:

<%@ Reference Control="../TempLayouts/LayoutSize.ascx" %>

然后,在aspx.cs文件中添加以下內容:

ASP.LayoutSize_ascx myUserControl;
myUserControl = (ASP.LayoutSize_ascx)LoadControl("../TempLayouts/LayoutSize.ascx");
myUserControl.Edit_Mode = 1;

您需要檢查控件的類名稱。

 //.aspx
 Control c = Page.LoadControl("LayoutSize.ascx");
 c.GetType().GetProperty("Get_Editor_Mode").SetValue(c, True, null);




//.ascx
    private bool Editor_Mode = false;
    public bool Get_Editor_Mode
    {
        get { return Editor_Mode; }
        set { Editor_Mode = value; }
    }

將其強制轉換為您的特定控件類型,而不是(UserControl) 這樣,您可以在將用戶控件添加到頁面之前設置其屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM