我是一个初学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
谢谢您anwser,但我认为taht不会解决我的问题。 pdf文件本地存储在服务器中,但未与应用程序一起部署。由于Web服务位于服务器机器中,因此它可以访问指定目录中的文件(假设c:\\ test.pdf)。这就是为什么我创建一个PDFViewer页面并将其传递给PDF路径。现在我如何访问页面URL,以便我的Silverlight客户端将它加载到iframe中? 在此先感谢 – 2010-08-06 13:19:44