Конструктор UserControl с параметрами - PullRequest
3 голосов
/ 21 мая 2010

Моя проблема
когда я хочу использовать 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"/>

And On Page_load функция CS

этой веб-страницы
ucFreeExperience = new Arche.Itempage3.include.FreeExperience(itemInfo);

Ответы [ 2 ]

9 голосов
/ 26 мая 2010

Не используйте конструкторы в пользовательских элементах управления.

Предоставление свойств с помощью методов доступа get / set.

1 голос
/ 21 мая 2010
public FreeExperience(ItemInfo itemInfo) : this()

: this () вызывает ваш конструктор по умолчанию, если нет конкретной причины, по которой вы это делаете, вы можете удалить его.

На самом деле, я всегда работаю наоборот, ииметь конструкторы с небольшим параметром или без него, вызывать параметризованный конструктор, предоставляя значения по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...