2009-03-26 3 views
-2

Это код:Ошибка при преобразовании данных сетки, чтобы преуспеть

TextWriter writer = null; 

HttpResponse response = new HttpResponse(writer); 

response.ClearContent(); 
response.AddHeader("content-disposition", "attachment;filename=" + filename + ".xls"); 
// response.ContentType = "application/ms-excel"; 
StringWriter stringWriter = new StringWriter(); 
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter); 
HtmlForm htmlForm = new HtmlForm(); 
GridView1.Parent.Controls.Add(htmlForm); 
htmlForm.Attributes["runat"] = "server"; 
htmlForm.Controls.Add(GridView1); 
htmlForm.RenderControl(htmlTextWriter); 

response.Write(stringWriter.ToString()); 

Если я запускаю этот код, он бросает NullReferenceException. Я использовал эти коды в Business Logic Layer

+0

Я понимаю, что для вас не сложно определить, что вам нужно –

ответ

2

Вы получаете сообщение об ошибке выполнения, когда вы попали в response.Write линию, потому что вы передаете нуль в качестве потока для ответа:

TextWriter writer = null; 
HttpResponse response = new HttpResponse(writer); 

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

Смежные вопросы