AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2011, 06:46   #1  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
! экспорт в Excel из EP (AX 2009)
есть для этого простой код, который выглядит так:

X++:
protected void Button3_Click(object sender, EventArgs e)
    {
        string attachment = "attachment; filename=Contacts.xls";
        Response.ClearContent();
        Response.AddHeader("content-disposition", attachment);
        Response.ContentType = "application/ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        AxGridView1.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
но в портале на WSS 3.0 это вызывает ошибку
X++:
"Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server."
для этого тоже есть решение: переопределить на странице метод
X++:
public override void VerifyRenderingInServerForm(Control control)

    {

    }
это всё хорошо, но как мне переопределить этот метод? в Visual Studio я только создаю WebParts, как мне переопределить код, который выполняется на странице, которую я создам в SharePoint?

или, может, есть какие-то другие решения?

спасибо
__________________
our sharp bitter vitriol is not that of the vulgar.
Старый 02.02.2011, 09:07   #2  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
Мы делали редирект на форму в Page_load которой написана передача файла
X++:
protected void Page_Load(object sender, EventArgs e)
    {
        string sFileName = this.FormParameter("SendFileName");

        try   
        {
            FileInfo fileInfo = new FileInfo(sFileName);

            Response.Clear();
            //Response.ClearContent();
            //Response.ClearHeaders();
            
            Response.AddHeader("Pragma", "public");
            Response.AddHeader("Cache-Control", "public"); 
            Response.AddHeader("Content-Cache", "max-age=0");
            Response.AddHeader("Content-Disposition", " attachment; filename = " + fileInfo.Name);

            Response.ContentType = "application/octet-stream";
            Response.AppendHeader("Content-Length", fileInfo.Length.ToString());
            Response.TransmitFile(sFileName);
            Response.Flush(); 
        }
        catch 
        {
            this.ShowInfoMSG("Ошибка отправки файла");
        }
        finally
        {
            if (File.Exists(sFileName))
               File.Delete(sFileName);
            
            Response.End();
        }
    }
"мягкий" редирект описан в
http://blogs.msdn.com/b/solutions/ar...ad-a-file.aspx

Последний раз редактировалось player; 02.02.2011 в 09:23.
Старый 03.02.2011, 03:52   #3  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
так вы, похоже, файл сначала писали на диск. а можно как-то без этого обойтись? а я пока посмотрю на упомянутый в статье EPDocuGet
__________________
our sharp bitter vitriol is not that of the vulgar.
Старый 03.02.2011, 06:50   #4  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
Обойтись без этого задача поставлена, но сроки ее реализации неясны ввиду некритичности.
Старый 03.02.2011, 07:37   #5  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
и на том спасибо
__________________
our sharp bitter vitriol is not that of the vulgar.
Старый 03.02.2011, 14:44   #6  
dmitro is offline
dmitro
Участник
 
48 / 19 (1) ++
Регистрация: 18.07.2008
Адрес: Москва, РФ
попробуйте посмотреть как работает стандартный веблет - EPDocuGetWeblet, на портале
Старый 04.02.2011, 04:34   #7  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
смотрел занятно работает. только файл у меня генерируется на ASP стороне, что же мне его, записывать на диск, делать редирект на новую страницу, которая будет его подбирать и выдавать пользователю? как вариант.

я сейчас на другой проект переключился, как вернусь, попробую.
__________________
our sharp bitter vitriol is not that of the vulgar.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.