G Nathan Ответов: 0

Установите url-адрес действия MVC для отображения PDF inline в элементе управления iframe на веб-странице (. aspx)


Привет,

У меня есть сценарий, как показать PDF-файл встроенным в элемент управления IFrame на странице aspx. PDF-содержимое будет получено от действия контроллера MVC в виде FileContentResult путем отправки параметра сложного объекта в действие. В моем коде я установил свойство src iframe в коде позади, жестко закодировав URL-адрес строкой запроса сериализованного значения

С фоновым кодом:

TestPDF obj = new TestPDF
 {
  Employee = new Employee { EmpNo = 10, Name = "Gopi" }
 };

var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
 string jsonString = javaScriptSerializer.Serialize(obj);
 framePdf.Src ="http://localhost:56336/Home/Test?pdfData=" + HttpUtility.UrlEncode(jsonString);





Controller. cs

[HttpGet]
         public ActionResult Test(TestPDF pdfData)
         {
             byte[] bytes = System.IO.File.ReadAllBytes(@"C:\Test.pdf");
             return new FileContentResult(bytes, "application/pdf");
         }



В приведенном выше сценарии значение, которое я отправляю, больше единицы, а предел строки запроса составляет 2093 символа, поэтому значение усекается, и контроллер получает неверное значение. таким образом, невозможно получить содержимое файла, вызвав службу в действии контроллера из-за того, что параметр возвращает нулевое значение.



Пожалуйста, укажите возможные способы получения ожидаемого результата.

Заранее спасибо


С уважением,

Гопи

Что я уже пробовал:

I tried in client side programming using $.Post() and $.ajax() method to call the controller action but getting a response like some raw data of filecontent. so do not know how to put this into iframe control.

0 Ответов