2014-12-04 2 views
0

У меня есть этот частичный вид, который отображает ссылки на документы;MVC: Как открыть файл .doc?

@model IList<DocumentLineViewModel> 
<tr> 
    <td class="leftCell" style="width: 150px;"> 
     <label>Documents</label></td> 
    <td class="rightCell" id="documentCell"> 
     @if (Model.Any(x => x.CurrentUrlFlag)) 
     { 
      foreach (var document in Model) 
      { 
       <a target="_blank" href="@document.CurrentUrl"> 
        @document.CategoryName 
       </a> 
      } 
     } 
     else 
     { 
      <span>Not Entered</span> 
     } 
    </td> 
</tr> 

Если документ является pdf, он отлично работает, я могу просмотреть документ. Если документ является словом (или excel), я получаю это нежелательное приглашение; enter image description here

Как это остановить?

EDIT Один из способов, которым я пытался, - это встроить документ во всплывающее окно, но это не сработало;

@model IList<DocumentLineViewModel> 
<tr> 
    <td class="leftCell" style="width: 150px;"> 
     <label>Documents</label></td> 
    <td class="rightCell" id="documentCell"> 
     @if (Model.Any(x => x.CurrentUrlFlag)) 
     { 
      foreach (var document in Model) 
      { 
       if (document.CurrentUrl.ToUpper().EndsWith("PDF")) 
       { 
        <a target="_blank" href="@document.CurrentUrl" class="btn"> 
         @document.CategoryName 
        </a> 
       } 
       else 
       { 
        <a href="#show-document" class="btn" data-toggle="modal">@document.CategoryName</a> 
        <div class="modal fade" id="show-document" style="display: none"> 
         <object src="@document.CurrentUrl"><embed src="@document.CurrentUrl"></embed></object> 
@*      <iframe src="@document.CurrentUrl"></iframe>*@ 
        </div> 
       } 
      } 
     } 
     else 
     { 
      <span>Not Entered</span> 
     } 
    </td> 
</tr> 

Всплывающее окно появилось, но содержимое не показывало документ.

+3

Что вы пытаетесь сделать? В браузере откроется PDF-файл, поэтому нет необходимости загружать его. В браузере нет встроенных функций для просмотра файлов 'docx', поэтому их необходимо загрузить. Насколько я знаю, вы не можете переопределить приглашение, потому что это функция безопасности на стороне пользователей. –

+0

Это то, что я пытаюсь сделать, и ответ заключается в том, что это невозможно сделать. – arame3333

+0

вы можете попробовать с помощью [word viewer] (http://www.microsoft.com/tr-tr/download/details.aspx?id=4) –

ответ

0

Как предложил @Sippy, AFAIK не существует встроенной поддержки, кроме PDF-файлов, предлагаемых браузерами для рендеринга документов.

Если вы можете выставить свои документы для нескольких преобразователей, доступных вы можете сделать это, как показано в следующих ссылок:

Google Docs Viewer

SO Post

Display word document on browser (Надеюсь, что это может помочь вам в определенной степени)

+0

Google Docs Viewer не работает, я подозреваю, потому что URL-адрес недоступен вне VPN, который я использую. Решения IFrame и Embed, с которыми я не могу работать. Я отредактировал свой вопрос, чтобы вы могли видеть, что я сделал. – arame3333

+0

Как я уже сказал, вам нужно будет загрузить документ с того места, где он использует Ajax, поскольку он не будет доступен :) –

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