Gridview с контролем FileUpload - PullRequest
       8

Gridview с контролем FileUpload

3 голосов
/ 24 апреля 2009

У меня есть сетка, которая показывает изображение как часть одного из его столбцов. В режиме редактирования я хотел бы предоставить пользователю возможность загружать новый файл изображения, поэтому я использую элемент управления FileUpload в части редактирования шаблона.

У меня есть событие, чтобы запечатлеть это, я верю:

        protected void GridVew1_RowUpdated(object sender, GridViewUpdateEventArgs e)
    {          
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(Server.MapPath("images/hardware/" + FileUpload1.FileName));
        }
    }

Хотя я не знаю, как правильно вызвать элемент управления ... Как закодирован этот функционал?

Ответы [ 2 ]

4 голосов
/ 24 апреля 2009

Сначала вам нужно обработать событие RowUpdating вместо RowUpdated . Затем вам нужно найти ссылку на элемент управления FileUpload в этой строке.

ВАЖНО: Вам необходимо знать порядковый номер столбца, в котором расположен элемент управления. В моем примере я установил его на 0, предполагая, что это первый столбец. В противном случае вам нужно было бы просмотреть коллекцию Cells, чтобы найти его.

protected void gridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    GridViewRow row = gridView.Rows[e.RowIndex];
    FileUpload fileUpload = row.Cells[0].FindControl("fileUpload1") as FileUpload;
    if (fileUpload != null && fileUpload.HasFile)
    {
        fileUpload.SaveAs(Server.MapPath("images/hardware/" + fileUpload.FileName));
    }
}
1 голос
/ 24 апреля 2009

Если я понимаю, что вы здесь делаете, вам придется найти элемент управления в строке

так что в VB что-то вроде этого

    Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating

      Dim aRow As GridViewRow = Me.GridView1.Rows(e.RowIndex)

    dim xFileUpload as fileupload = CType(aRow.FindControl("FileUpload1"), FileUpload)

    xFileUpload. save file etc etc etc 

End Sub 

Предостережение - если это не так, я бы хотел увидеть лучший способ сделать это!

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