Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Firefox没有';t显示动态添加的Silverlight 5控件_C#_Silverlight_Firefox - Fatal编程技术网

C# Firefox没有';t显示动态添加的Silverlight 5控件

C# Firefox没有';t显示动态添加的Silverlight 5控件,c#,silverlight,firefox,C#,Silverlight,Firefox,我在ASP.NET面板中托管的Silverlight 5应用程序在Firefox(版本11)中未显示。然而,它在Chrome、IE和Safari中工作得非常好。我正在动态加载Silverlight对象,如下所示。这样做是为了传递init参数。(我将其移除以进行测试)。我在Firefox中得到了一个小的白色空白Silverlight区域来代替Silverlight应用程序 HtmlGenericControl myHtmlObject = new HtmlGenericControl("objec

我在ASP.NET面板中托管的Silverlight 5应用程序在Firefox(版本11)中未显示。然而,它在Chrome、IE和Safari中工作得非常好。我正在动态加载Silverlight对象,如下所示。这样做是为了传递init参数。(我将其移除以进行测试)。我在Firefox中得到了一个小的白色空白Silverlight区域来代替Silverlight应用程序

HtmlGenericControl myHtmlObject = new HtmlGenericControl("object");
myHtmlObject.Attributes["data"] = "data:application/x-silverlight";
myHtmlObject.Attributes["type"] = "application/x-silverlight";
HtmlGenericControl mySourceParam = new HtmlGenericControl("param");
mySourceParam.Attributes["name"] = "source";
mySourceParam.Attributes["value"] = "ClientBin/SilverlightApp.xap";
myHtmlObject.Controls.Add(mySourceParam);
HtmlGenericControl myOnErrorParam = new HtmlGenericControl("param");
myOnErrorParam.Attributes["name"] = "onError";
myOnErrorParam.Attributes["value"] = "onSilverlightError";
myHtmlObject.Controls.Add(myOnErrorParam);
myHtmlObject.Attributes["width"] = "100%";
myHtmlObject.Attributes["height"] = "100%";
panelSilverlightHost.Controls.Add(myHtmlObject);
但是,来自不同浏览器的HTML源代码看起来是相同的

Firefox的网页html:

<object data="data:application/x-silverlight" 
    type="application/x-silverlight" width="100%"
 height="100%">
    <param name="source" value="ClientBin/SilverlightApp.xap"></param>
    <param name="onError" value="onSilverlightError"></param>
</object>

这与Chrome、IE和Safari完全相同

我尝试过其他示例SL5应用程序(虽然不是动态加载的),这些在Firefox上运行良好

HtmlGenericControl myHtmlObject = new HtmlGenericControl("object");
myHtmlObject.Attributes["data"] = "data:application/x-silverlight";
myHtmlObject.Attributes["type"] = "application/x-silverlight";
HtmlGenericControl mySourceParam = new HtmlGenericControl("param");
mySourceParam.Attributes["name"] = "source";
mySourceParam.Attributes["value"] = "ClientBin/SilverlightApp.xap";
myHtmlObject.Controls.Add(mySourceParam);
HtmlGenericControl myOnErrorParam = new HtmlGenericControl("param");
myOnErrorParam.Attributes["name"] = "onError";
myOnErrorParam.Attributes["value"] = "onSilverlightError";
myHtmlObject.Controls.Add(myOnErrorParam);
myHtmlObject.Attributes["width"] = "100%";
myHtmlObject.Attributes["height"] = "100%";
panelSilverlightHost.Controls.Add(myHtmlObject);
我在不同的机器上试用了不同版本的Firefox。这没有帮助。
任何关于此处可能出现错误的建议都会非常有用。

数据属性有一个无效的数据:URI,因此不会加载任何内容。使用有效的URI(类型后至少需要一个逗号)有帮助吗?

代码似乎很好。这似乎是Firefox的一个问题。Firefox没有显示我的Silverlight对象的所有问题都已通过对包围的div应用高度和宽度来解决。(不是100%,而是数值)。我确信那里的数据属性是正确的。OP提到它在其他浏览器中工作得很好。data:URI的语法在第3节中,需要在类型后面加逗号。有些浏览器可能会接受它,尽管它的格式不正确,但这并不意味着它是正确的。@Boris Zbarsky:+1。我还记得在某个地方读到,为了支持Firefox兼容性,后面的逗号是必需的。