Чтобы создать документ MSWword через ASP MVC 1.0 - PullRequest
1 голос
/ 02 мая 2011

Hii Я использую asp.net MVC1.0.Я хочу создать документ MS Word с помощью кода. Я использую функцию:

public ActionResult GetPostOffline (string PostId)

{
    Post post = new Post();
    post = PostBLL.PostDetails(new Guid(PostId.Replace("'","")));
    string strBody =  post.Title +post.Body;
    string filename = post.Title + ".doc";
    Response.ContentType = "application/word";
    Response.AppendHeader("Content-disposition", "attachment; filename=" + filename);
    Response.Write(strBody);
    return View("~/Views/Posts/AllPosts.aspx");
}

Он правильно открывает документ Word, но в этом документе этопоказывая правильное содержание.Вместо того, чтобы показывать контент, он отображает HTML моего сайта .. Что мне делать .. пожалуйста, помогите мне

Ответы [ 2 ]

0 голосов
/ 02 мая 2011

Я считаю, что есть более простое решение. От вашего вопроса, похоже, вы хотите, чтобы файл открывался в слове, даже если это просто текст. Вот мое решение:

{
    Post post = new Post();
    post = PostBLL.PostDetails(new Guid(PostId.Replace("'","")));
    string strBody =  "<body>" + post.Title + System.Environment.NewLine + post.Body + "</body>";
    string filename = post.Title + ".doc";
    return File(Encoding.UTF8.GetBytes(strBody), "application/word", filename);
}

Я добавил System.Environment.NewLine между заголовком и телом. Не уверен, если это необходимо.

0 голосов
/ 02 мая 2011

Попробуй так:

public ActionResult GetPostOffline(string postId)
{
    Post post = new Post();
    post = PostBLL.PostDetails(new Guid(PostId.Replace("'","")));
    string strBody =  post.Title + post.Body;
    string filename = post.Title + ".txt";
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
    return File(Encoding.UTF8.GetBytes(strBody), "text/plain");
}

Я изменил Content-Type с application/word на text/plain, так как у вас есть простая строковая переменная (strBody), а не настоящий документ Word. Для создания документа MSWord вам понадобится библиотека.

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