Делегаты, будут ли они применяться здесь? Если так, то как? Примеры кода, так как я новичок в этой области.
Логическое разделение - это то, что я намерен реализовать, и я думаю, что моя задача, представленная ниже, была бы идеальным кандидатом. Я читал, что объекты должны быть достаточно независимыми и не должны быть жестко связаны друг с другом.
ASPX (Страница)
<uc1:Attachment ID="Attachment1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
ASPX.cs (Codebehind)
protected void Button1_Click(object sender, EventArgs e)
{
// Check the files and upload
}
ASCX (UserControl)
<MyControl:Upload ID="Upload1" runat="server"
AllowedFileExtensions=".zip,.jpg,.jpeg,.doc,.gif,.png,.txt"
MaxFileInputsCount="3"
OverwriteExistingFiles="false"
onfileexists="Upload1_FileExists"
onvalidatingfile="Upload1_ValidatingFile" />
ASCX.cs (Codebehind)
public Upload AttachmentControl
{
get { return this.Upload1; }
}
Задача выше - модуль загрузки файлов. Элемент управления, выполняющий загрузку, находится в пользовательском элементе управления, перетащенном на страницу ASPX.
Кнопка «Отправить» на странице ASPX должна запустить процесс загрузки файла.
Это должен быть довольно распространенный сценарий, когда Страница сохраняет другую информацию в базу данных, а также загружает файлы.
Мой инстинкт из прошлого опыта заключался в том, чтобы выставить элемент управления Upload в UserControl через публичное свойство.
Это связало бы UserControl вложения со страницей.
Как я могу развязать это, возможно, с использованием делегатов?