我的问题是
当我想使用带参数的UserControl时。

它同时调用两个构造函数(无参数的构造函数和带参数的构造函数)

这是正常情况吗?

如果没有,我应该如何构造对象。

public partial class FreeExperience : Arche.Web.UI.UserControlBase
{
    private ItemInfo itemInfo;
    public FreeExperience() : base()
    {
    }
    public FreeExperience(ItemInfo itemInfo) : this()
    {
        this.itemInfo = itemInfo;
    }


在这里,我做了简单的userControl,

然后在另一页上这样称呼它。

<%@ Register TagPrefix="uc" TagName="FreeExperience" Src="include/FreeExperience.ascx" %>


...

<uc:FreeExperience ID="ucFreeExperience" runat="server"/>


并且在此网页的CS的Page_load功能上

ucFreeExperience = new Arche.Itempage3.include.FreeExperience(itemInfo);

最佳答案

不要在用户控件上使用构造函数。

使用get / set访问器公开属性。

09-25 15:52