Мне нужен gridView в панели обновления Ajax, чтобы связать его новые данные - PullRequest
0 голосов
/ 08 июля 2011

Я говорю о ASP.NET Ajax Control Toolkit, GridView и AsyncFileUpload.

У меня есть UpdatePanel: GridView, AsyncFileUpload.

Представления gridView fileNames, загруженные asyncFileUpload.

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

Я пробовал: gridView.DataBind () в событии OnUploadCompleted, но это не удалось.

Мне интересно! Я хочу, чтобы строка делала пост обратно в ajax для просмотра новых данных!

Какой смысл?

Редактировать: (Код)

protected void btnUploadReport(object sender, EventArgs e)
{
    if (fuReports.HasFile)
    {
        try
        {
            string newFileName = fuReports.FileName.Insert(fuReports.FileName.Length - 5, DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString());
            newFileName = Server.MapPath("~/Files/Reports/TextReports/") + newFileName;
            fuReports.SaveAs(newFileName);

            System.Collections.Specialized.ListDictionary item = new System.Collections.Specialized.ListDictionary();

            item.Add("project_id", Request.QueryString["pid"]);
            item.Add("title", fuReports.FileName);
            item.Add("type", "text");
            item.Add("url", newFileName);

            ldsReports.Insert(item); // lds means LinqDataSource

            grdReports.DataBind();

        }
        catch (Exception ex)
        {
            Session["Message"] = ex.Message;
            Response.Redirect("~/Message.aspx");
        }
    }
}

1 Ответ

0 голосов
/ 08 июля 2011

DataBind недостаточно.Сначала необходимо обновить DataList новыми загружаемыми именами файлов, а затем вызвать DataBind.

Если вы покажете код здесь, я могу дать вам более подробную информацию, но здесь дело обстоит так: данные не обновляются в вашем GridView, и поэтому вы их не видите

...