在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践
Posted
技术标签:
【中文标题】在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践【英文标题】:Best practice for integrating a silverlight control in a Asp.Net Solution 【发布时间】:2012-02-23 23:57:42 【问题描述】:我需要一些有关处理 Silverlight 控件的建议,我需要将其集成到现有网站中,使用 Asp.Net 编码。
我使用的是 SVN、Visual Studio 2010、Framework 4.0。我需要创建一个简单的 silverlight 控件,并且需要将它嵌入到我的一个 asp.net 页面中。
我的问题基本上是,在哪里放置此 Silverlight 控件的最佳做法是什么?
1) 为我的 Silverlight 控件创建一个新项目,然后通过我网站中的外部工具引用它? (只导入 .xap?)
+ 重用 - 对于一个小控件来说似乎有很多额外的工作
2) 使用我的网站解决方案创建一个新项目,在我的网站旁边编译它并创建一个构建后事件以将生成的 .xap 复制到我网站的 ClientBin 文件夹中?
- 缺乏可重用性 + 轻松对我的 Silverlight 组件进行小修改。
3) 另一个我还不知道的解决方案??
感谢您的建议
【问题讨论】:
【参考方案1】:不用担心项目的数量。重用更为重要(我们有超过 100 个项目的解决方案)。
创建一个新的 Silverlight 应用程序,然后在网站和您的新 Silverlight 应用程序之间添加一个 Silverlight 关系:
右键单击您的网站项目并选择Properties
。
选择左侧的Silverlight Applications
标签
按Add...
选中 Use an existing Silverlight project in the solution
并从 Project
下拉列表中选择要添加的项目。
如果您想为您的应用程序提供单独的测试页面,请选中 Add a test page that references the control
。
按Add
即可完成。
该网站现在将构建您的 Silverlight 应用程序并将输出 Xap 文件包含在其 ClientBin 文件夹中。
如果您选中“添加测试页面”,这将为您提供示例 html/ASPX 页面以及在 ASP.Net 应用程序中的任何位置运行 Silverlight 组件所需的 javascript。
【讨论】:
您好,感谢您的回复!这正是我所做的,我正面临一些麻烦。如果我确实像你说的那样,我的 xap 会被复制到 ClientBin 中,但无法在页面中查看。当我在另一个解决方案中生成它并手动将 xap 文件复制粘贴到 ClientBin 中时,它可以工作......这让我发疯了,知道我在这里做错了什么吗? @Andy M:一旦在网站上,XAP 文件就像任何其他下载一样。使用 Fiddler 2 检查它是否实际下载。如果是这样,假设您可能缺少启动 Silverlight 的 Javascript 的一部分。你能提供你的页面HTML吗?此外,如果您改为浏览它添加的 Silverlight 测试页面,它们是否有效?以上是关于在 Asp.Net 解决方案中集成 silverlight 控件的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章