在我目前的項目中,我需要添加一項功能,允許用戶查看其上傳的PDF的縮略圖。我發現一個handy component實現了這一點(基本版本是免費的,但它足以滿足我目前的需求)。無論如何,該控件相當過時(2010),因此似乎沒有MVC支持。在演示他們描繪控制的使用爲這樣:在MVC中使用ASP.NET服務器控件?
視圖的標記:
<form method="post" runat="server" enctype="multipart/form-data">
<asp:Panel ID="thumbnailsPanel" runat="server" />
</form>
縮略圖控制通過代碼實例化,其表示的縮略圖對應的字節數組傳遞到控制和所述控制被添加到thumbnailsPanel
<script runat="server">
protected void DisplayThumbs_Click(object sender, System.EventArgs e)
{
Thumbnail thumbnail = new Thumbnail();
thumbnail.SessionKey = sessionID;
thumbnail.Index = i;
thumbnailsPanel.Controls.Add(thumbnail);
}
</script>
由於我不能宣佈我的剃鬚刀視圖Thumbnail
控制,我將如何使用MVC這種控制?我花了幾個小時試圖使這個控件MVC友好無濟於事,最好的我想出的是在我的項目中包含一個.ASPX視圖(not.cshtml),並在該視圖上呈現Thumbnail控件。顯然這是不可取的。
那麼你會如何去使用MVC中的ASPX服務器控件?這個想法完全不好,不應該練習嗎?
一些思考:也許嘗試ImageMagick的。 NET或PDFSharp轉換爲圖像,GDI將圖像轉換爲PDF?通過構建一個組件而不是一個Web窗體控件,您可以在控制器中訪問它。 – bryanjonker
Microsoft不支持在ASP.NET應用程序中使用GDI,並且不能將圖像「轉換」爲PDF。 – Dai
可能的重複[爲什麼我不能在ASP.net MVC中使用服務器控件?](http://stackoverflow.com/questions/9039019/why-cant-i-use-server-controls-in-asp-net -mvc) – jrummell