关于silverlight 部署的问题

steary 2010-01-05 03:00:03
本人部署了silverlight2.0 web项目,是嵌套在aspx页面中,在已经安装了silverlight客户端的浏览器上可以正常访问。

但是在未安装silverlight客户端的浏览器上就弹出js错误,
错误内容:
Sys.Invalidoperationexception:Invalid xaml for control 'silverlight1' [..clientBin/****.xap]
illegal xml charatcer
请问第一点是什么错误?


另外一些客户端提示 silverlight版本不对,然后跳转到微软的网站,要求用户自己下载
项目的silverlight控件都是嵌套aspx页面,希望可以在客户端提示自动下载?

请问以上两种情况是什么原因,为什么一部分客户端可以正常显示,一部分js错误,还有就是版本不对就跳到微软网站下载
本人希望如果客户端是未安装silverlight直接安装,不要任何提示。
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jv9 2010-01-06
  • 打赏
  • 举报
回复
在程序编译的时候,代码已经实现,如果客户端没有安装Silverlight,将会自动指向 <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"> 来获取Silverlight客户端。 其中v=3.0.40818.0是Silverlight版本号。

你上面的问题,应该都属于版本兼容的问题,你的程序都是SL2的对么?你的客户端都是什么版本呢?你可以根据自己的情况,修改Silverlight客户端下载地址,指向你的服务器,下载你的应用,对应版本的Silverlight客户端。

看这篇文章
http://silverlightchina.net/html/tips/2009/1224/470.html
steary 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jv9 的回复:]
在程序编译的时候,代码已经实现,如果客户端没有安装Silverlight,将会自动指向  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none"> 来获取Silverlight客户端。 其中v=3.0.40818.0是Silverlight版本号。

你上面的问题,应该都属于版本兼容的问题,你的程序都是SL2的对么?你的客户端都是什么版本呢?你可以根据自己的情况,修改Silverlight客户端下载地址,指向你的服务器,下载你的应用,对应版本的Silverlight客户端。

看这篇文章
http://silverlightchina.net/html/tips/2009/1224/470.html
[/Quote]

在html页面中我知道可以通过改<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">路径来实现下载位置,但是在aspx中,页面控件<asp:Silverlight ID="Silverlight1" runat="server" MinimumVersion="2.0.31005.0" AutoUpgrade="true" Height="350px" Width="100%" />
如何修改默认下载路径?
steary 2010-01-06
  • 打赏
  • 举报
回复
感谢各位答复,本人是使用aspx的控制方式,另外部署的服务器无法上网,必须另外存放Silverlight.exe
因为要在cs代码中动态控制Source,
最终解决方式如下:
<asp:Silverlight ID="Silverlight1" runat="server" MinimumVersion="2.0.31005.0" AutoUpgrade="true" Height="350px" Width="100%">
<PluginNotInstalledTemplate>
    如要显示报表,请点击安装【报表组件】<a href="../../ClientBin/Silverlight3.exe">
<img src="../../ClientBin/setupSilverLight.jpg" alt="点击安装【报表组件】" style="border-style: none"/><br />
    否则本报表不会显示!
  </PluginNotInstalledTemplate>
</asp:Silverlight>
在目录中插入自己
谢谢,各位!
xingjunli 2010-01-06
  • 打赏
  • 举报
回复
aspx页面中引有如下Object(不要用asp:Silverlight组件啥)
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="Silverlight.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=141205" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
xingjunli 2010-01-05
  • 打赏
  • 举报
回复
本人希望如果客户端是未安装silverlight直接安装,不要任何提示。
肯定实现不了的,MS提供了检查版本和是否安装SL的JS方法,你可以将安装链接改为自己WEb站点目录下:
参考:

function ShowFlash(Wd, Hg,xapName) {
document.write('<object id="silverlightControl" data="data:application/x-silverlight," type="application/x-silverlight-2" width="' + Wd + '" height="' + Hg + '">');
//document.write('<a class="viewDownLoad" href="ClientBin/Silverlight.2.0.exe"><img src="ClientBin/DownLoad.gif" border=0 alt=""/></a>');
document.write('<param name="source" value="ClientBin/' + xapName + '.xap"/>');
document.write('<param name="wmode" value="transparent" />');
document.write('<param name="onerror" value="onSilverlightError" />');
//document.write('<param name="background" value="transparent" />');
document.write('<param name="windowless" value="true" />');
document.write('<a href="Silverlight.2.0.exe" style="text-decoration: none;">');
document.write('<img src="images/load.bmp" alt="Get Microsoft Silverlight" style="border-style: none"/></a>');
document.write('</object>');
}


如:
“a href="Silverlight.2.0.exe” 将安装文件和错误提示文件放在XAP相同
目录下

type="application/x-silverlight-2" 要支持的版本,高版本完全兼容低版本

8,734

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧