2012-04-04 2 views
1

В веб-сервисе .Net, когда вы нажимаете кнопку «invoke», открывается XML-файл.Как я могу показать xml-файл в моем проекте asp.net?

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

1) Я в "Http: //mysite/default.aspx"

2) нажмите кнопку моя

3) Эта страница будет открыта с расширением .xml: «HTTP: // MySite/result.xml»

Response.ClearHeaders(); 
//Response.AppendHeader("content-disposition", "attachment;filename=result.xml"); 
Response.AddHeader("content-type", "text/xml"); 
Response.Write("aaaa"); 
Response.End(); 

ответ

0

он написать код Response.Redirect("xmlfile.xml"); и показывает XML, как вы ожидали.

+0

Нет, это не так. – breceivemail

+0

Вы можете показать образец вывода в снимке экрана. – Pankaj

0

Вам нужно добавить к нему ответ.

Response.Clear(); 
Response.ContentType = "text/xml";   
Response.Write("<?xml version=\"1.0\">"); 
//whatever you want 
Response.End(); 

PS.content-диспозиция даст вам «вариант», чтобы загрузить файл (браузер будет загружать файл, не отправляя ее в самом браузере);

Response.ContentType = "application/" + System.IO.Path.GetExtension(pathToFile).Substring(1).ToLower(); 
Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(System.IO.Path.GetFileName(pathToFile))); 
Response.WriteFile(pathToFile); 
Response.End(); 
+0

По крайней мере, я думаю, вы хотите написать xml во время выполнения, которое ... – riffnl

+0

ваш образец кода не открывает новое окно, содержащее содержимое моего файла. – breceivemail

+0

@breceivemail of the course он этого не делает. Открытие нового окна для загрузки - это второй код. Но открытие XML-файла в новом окне зависит от вас (например, добавить целевой объект в якорь). – riffnl

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