Моя основная цель - создать файл XML, который можно загрузить.Как сгенерировать XML-файл из представления ASP.NET MVC?
Приведенный ниже код преуспевает в создании файла, но доступ к представлению (/ Home/XmlView) можно получить непосредственно.
Если я использую атрибут [Авторизовать] в методе XmlView(), то файл создается с помощью HTML-страницы моей страницы входа по умолчанию.
Как получить разрешение на работу с методом XmlView() или сделать все это более эффективно?
Я открыт для любых предложений.
Заранее спасибо.
using System;
using System.Net;
using System.Text;
using System.Web.Mvc;
using MvcProject.Core.Repositories;
namespace MvcProject.Core.Web.Controllers
{
[HandleError]
public class HomeController : Controller
{
private readonly IEntryRepository _entryRepository;
public HomeController(IEntryRepository entryRepository)
{
_entryRepository = entryRepository;
}
[HttpGet]
[Authorize]
public ActionResult Download()
{
var url = Url.Action("XmlView", "Home", null, "http");
var webClient = new WebClient
{
Encoding = Encoding.UTF8,
UseDefaultCredentials = true
//Credentials = CredentialCache.DefaultCredentials
};
var fileStringContent = webClient.DownloadString(url);
var fileByteContent = Response.ContentEncoding.GetBytes(fileStringContent);
return File(fileByteContent, "application/xml",
string.Format("newfile{0}.xml", DateTime.Now.ToFileTime()));
}
//[Authorize]
public ActionResult XmlView()
{
return View("XmlView", _entryRepository.GetAll());
}
}
}
Вы пытаетесь создать файлы xml или excel? –