Установите 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.