2014-01-26 2 views
-1

Когда я использую
функция Button1_Click является экспорт в Excel, но это не работает.внутр вызов C# функция не работает

protected void Button1_Click(object sender, DirectEventArgs e) 
{ 
    DBOperator db = new DBOperator(); 
    string sSql = "SELECT * FROM table"; 
    DataTable dt = db.GetTable(sSql); 
    ExcelHelper.ExportDTtoExcel(dt, "", "test.xls"); 
} 

когда я не использую ext работает. ASPX код:

<ext:Panel ID="Panel2" runat="server" Title="人均情况" Width="900" Height="650"> 
    <Items> 
     <ext:Button runat="server" Text="点EXT"> 
      <DirectEvents> 
       <Click OnEvent="Button1_Click" /> 
      </DirectEvents> 
     </ext:Button> 
    </Items> 

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

Я хочу использовать ext.net и NPOI (элемент управления EXCEL) для экспорта EXCEL-файлов.

Если я использую C# и NPOI, хорошо работайте.

Теперь я начинаю использовать ext.net и NPOI. Следующие

<body> 
    <form> 
     My button 
    </form> 
</body> 

Это работает.

Но, как следует

<body> 
    <ext:ResourceManager ID="ResourceManager1" 
         runat="server" 
         Theme="Gray"/> 
    <ext:Panel ID="Panel2" 
       runat="server" 
       Title="per capita" 
       Width="900" 
       Height="650"> 
     <Items> 
      <ext:Button runat="server" 
         Text="EXT" 
         AutoPostBack="true"> 
       <DirectEvents> 
        <Click OnEvent="Button1_Click"/> 
       </DirectEvents> 
      </ext:Button> 
     </Items> 
    </ext:Panel> 
</body> 

Это не работает.

Ошибка:

"WebForm_PostBackOptions" is not defined

Когда я снял AutoPostBack= "true" >

Ошибка:

error c00ce514 occurred due to the operation cannot be completed.

Прежде всего, когда я присоединился к ext:Panel будет ошибка.

+1

Ответ на «это не работает» это «так это исправить». Если вы не скажете нам, как это не удается, как мы можем вам сказать что-то конкретное? Вам нужно больше заботиться о своих вопросах. –

+0

Пожалуйста, перефразируйте свой вопрос. Каково отношение с Excel и что вы пытаетесь сделать? –

ответ

1

Проблема, вероятно, возникает с ExcelHelper.ExportDTtoExcel. Я предполагаю, что этот метод записывает что-то в поток Response, который перезаписывает требуемый ответ Ext .NET DirectEvent.

Следующий пример демонстрирует технику для экспорта в Excel во время Ext.NET DirectEvent:

http://examples.ext.net/#/GridPanel/Miscellaneous/Export_Data_Ajax/

Надеется, что это помогает.

0

Возможно, ваша ошибка возникает, когда ваш код загрузки находится внутри панели обновлений, выполняющей обратную передачу async?

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

Решение: Поместите название вашей кнопки как PostBackTrigger или зарегистрировать кнопку с

ScriptManager.GetCurrent(Page).RegisterPostBackControl(yourButton) 
Смежные вопросы