2010-08-06 58 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

相关问题