2010-08-06 59 views
2

我是一個初學Web程序員。我一直在編寫桌面應用程序。 現在,我已經在Silverlight中創建了這個Web應用程序,它使用我自己的Web服務來查詢數據庫。事情是,其中一個應用程序功能是打開PDF文件的能力。我知道Silverlight不會讓你這樣做,但在Silverlight應用程序的頂部使用IFrame,您可以使用de pdf文件(使用acrobat插件)顯示頁面。 所以問題在於,我的Silverlight應用程序將PDF路徑傳遞給Web服務,並且作爲回報,Web服務將創建一個新頁面並將新頁面URI傳回,以便它可以顯示在IFrame上:創建一個頁面的新實例並獲取URL

頁代碼Behing:

public partial class PDFViewer : System.Web.UI.Page 
{ 
    string Filename = string.Empty; 

    public Uri Uri 
    { 
     get { return HttpContext.Current.Request.Url; } 
    } 

    public PDFViewer(string filename) 
    { 
     Filename = filename; 
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     Response.ContentType = "Application/pdf"; 

     Response.WriteFile(Filename); //Write the file directly to the HTTP content output stream. 

     Response.End(); 
    } 
} 

的WebMethod代碼:

這個只返回Web服務URL。 所以主要的問題是:如何創建一個頁面實例並獲取該頁面的URL?

這個問題的解決可能會在這裏: http://forums.silverlight.net/forums/p/76977/372282.aspx

「以我的Silverlight應用程序我通過查詢字符串傳遞我的ID和網頁過程中它打開一個新的網頁瀏覽器,查詢數據庫,檢索所選擇的對象並用響應方法呈現。「

我只是不知道該怎麼做。

任何幫助,非常感謝。

Pedro

回答

0

也許這會有所幫助。

無論你的Silverlight嵌入對象放在一個iframe使用id =「xContainer」

,並從您的Silverlight代碼只是設置其SCR到PDF你想顯示

HtmlPage.Document.GetElementById("xContainer").SetProperty("src", "http://google.com"); 
+0

謝謝您anwser,但我認爲taht不會解決我的問題。 pdf文件本地存儲在服務器中,但未與應用程序一起部署。由於Web服務位於服務器機器中,因此它可以訪問指定目錄中的文件(假設c:\\ test.pdf)。這就是爲什麼我創建一個PDFViewer頁面並將其傳遞給PDF路徑。現在我如何訪問頁面URL,以便我的Silverlight客戶端將它加載到iframe中? 在此先感謝 – 2010-08-06 13:19:44

相關問題