Usercontrol с другим aspx, но той же реализацией - PullRequest
0 голосов
/ 25 июля 2011

Я хочу дифференцировать визуальный аспект пользовательского контроля, но с использованием того же кода. т.е. я хочу два usercontrol в файле .ascx:

CodeBehind = "Uploader.ascx.cs" Inherits = "Comptech2.moduli.uploader.Uploader"

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

Спасибо Alberto

1 Ответ

2 голосов
/ 25 июля 2011

Создайте базовый класс для вашего usercontrol, и окончательные usercontrols (* .aspx файлы) будут получены из базового класса.

// base class with common functionality
public class MyUserControlBase : UserControl {
    // derived class will initialize this property
    public TextBox TextBox1 {get;set;}
    // derived class will initialize this property
    public Button Button1 {get;set;}

    /* some code of usercontrol */
}

/* ... elsewhere ... */
// final class with *.aspx file
public class MyUserControlA : MyUserControlBase {
    protected override OnInit(EventArgs e) {
        // "this.txtUrl" is generated from *.aspx file
        this.TextBox1 = this.txtUrl;
        // "this.btnSubmit" is generated from *.aspx file
        this.Button1 = this.btnSubmit;
    }
}

/* ... elsewhere ... */
// final class with *.aspx file
public class MyUserControlB : MyUserControlBase {
    protected override OnInit(EventArgs e) {
        // "this.txtTitle" is generated from *.aspx file
        this.TextBox1 = this.txtTitle;
        // "this.btnOk" is generated from *.aspx file
        this.Button1 = this.btnOk;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...