I have two very similar pieces of ASP.NET code that send a file in an HTTP Reponse to the client. They should cause the browser to prompt to save the file. The first one works, the second one doesn't. The HTTP responses as seen in Fiddler are below.
Working: HTTP/1.1 200 OK Cache-Control: private Content-Length: 228108 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 4.0.30319 content-disposition: attachment; filename=Report.xlsx Date: Wed, 05 Jan 2011 12:17:48 GMT <binary data>
Not working: HTTP/1.1 200 OK Server: ASP.NET Development Server/10.0.0.0 Date: Wed, 05 Jan 2011 12:19:21 GMT X-AspNet-Version: 4.0.30319 Content-Length: 228080 content-disposition: attachment; filename=report 2.xlsx Cache-Control: private Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Connection: Close <binary data>
When the first one is seen in Fiddler the browser correctly prompts to save the file. When the second one is seen in Fiddler, nothing observable happens in the browser. Same behaviour in both chrome and firefox.
EDIT: ASP.NET code that produces the second response
I am using a gridview to display (open or save) files that have been uploaded into a SQL 2005 server. I have a templatefield within the gridview that contains a linkbutton that does a postback to GetUploadedFile.aspx that then fires the response.binarywrite() code. The code seems to work fine and opens/saves the files correctly. But once this has completed and I try and click on another button on the page, instead of doing the appropriate action it re-fires the getuploadedfile.aspx binarywrite code and opens up the "Open/Save/Cancel" dialog again.
i am calling a function which is inside Homescroll.ascx.cs from Homescroll.ascx so i wrote on Homescroll.ascx as <% Response.Write(scroll()); %> but all this is in update panel,and i am getting errors. so is their any other way to call function from homescroll.ascx to homescroll.ascx.cs,instead of response.write();
Let me explain better than what the question state. I dynamically generate a KML file from an aspx page and use routing to change the url so I can access myapp.com/mykml.kml and the download starts. I use Response.write() in the aspx page to send the data and it work flawlessly. But there is a zipped version for KML files which is KMZ and I am wondering if I can still use my aspx page to serve a KMZ instead of a KML. Since I do not use a file I cannot "zip" it. Is there a way to zip the stream and output it in the Response.Write()?
I have the following subroutine: Public Sub StartTimeDif() Dim dt As DateTime = Convert.ToDateTime(starttimeInput.Text) Dim dt1 As DateTime = Convert.ToDateTime(endtimeInput.Text) Dim ts As TimeSpan = dt1.Subtract(dt) Response.Write(ts.Minutes) End Sub and I'm trying to pass (ts.minutes) to durationLabel.
In the past I have always worked from the code behind page in ASP.NET and emitting all of my markup from that area.I am now learning MVC and am working in the .ASPX page directly.
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the service type with RequirementsMode setting as 'Allowed' or 'Required'.
when i try to access wcf service i get this error: the reason is HttpContext.Current is null, what should i do in this case?
Object reference not set to an instance of an object.
System.Web.Script.Serialization.JavaScriptSerializer s = new System.Web.Script.Serialization.JavaScriptSerializer(); Person p = new Person() { FirstName = "First name", LastName= "last name" }; string json = s.Serialize(p); System.Web.HttpContext.Current.Response.Write("jsoncallback" + json);} //error
Response.Write("<script id=""mycountry3"" language=""Javascript"" src=""http://www.ip2phrase.com/ip2phrase.asp?template=You are from Country: <COUNTRY> ""></script>")
in showfile.aspx, I send the file using Response.OutputStream.Write method. now I get some problem when somebody put this webpage in an IFrame and open in IE, as I checked the code, showfile.aspx is requested twice when clicks the link, and in the second time the cookies of authorization and session Id are missing. I tried to add the p3p header but not working.my question is, is this how the IE designed with iframe? is there anyway to work around?
The variable id is declared and it's value set eralier in the method.When the new window opens it displays the image properly, but the existing page suddenly loses all of it's styling. The links double in size and change font family. Does anyone know a way to retain styling on the calling page?
Error 1 'Response' is an ambiguous reference between 2 references that have a Response.Neither is the one I need,how do i reference the Response that write the file?
I hv a master page nd 3 content pages...my contents of d page r located in the middle of the page...
I have some alert boxes in my page...like this,. response.write(<script>alert('Invalid input')</script>);....
wen the "response.write" is executed. . all my contents of the page are moving to left side of d page and the fonts getting bigger and font style is changed as well . .
Is is possible to write to the http response stream from a dynamically created bitmap using the Response.Write/WriteFile without saving the image to the hard drive?
I am trying to get a control (not a controller -- a subclass of System.Web.UI.WebControls.WebControl), that can be used that I wrote for ASP.NET to work in an ASP.NET MVC environment. Normally, the control does the normal thing, and that works fine
Sometimes it needs to respond by clearing the response, writing an image to the response stream and changing the content type. When you do this, you get an exception "OutputStream is not available when a custom TextWriter is used".
If I were a page or controller, I see how I can create custom responses with binary data, but I can't see how to do this from inside a control's render functions. To simplify it -- imagine I want to make a web control that renders to:
<img src="pageThatControlIsOn?controlImage">
And I know how to look at incoming requests and recognize query strings that should be routed to the control. Now the control is supposed to respond with a generated image (content-type: image/png -- and the encoded image). In ASP.NET, we:
Response.Clear(); Response.OutputStream.Write(thePngData); // this throws in MVC // set the content type, etc Response.End();
How am I supposed to do that in an ASP.NET MVC control?
I want to use response.write to generate a table. but I have a question, the result of table must display on the top of web page. How can I control the location of table? e.g. at the middle or end of web page or starting from number of line.
i am using CollapsiblePanelExtender and button to open pdf document using response.document in same form. CollapsiblePanelExtender works fine before i click button to open pdf document using response.write and once i click on button CollapsiblePanelExtender does not work.