2012-01-14 65 views
3

我需要在按钮上单击该页面页面上的aspx页面的一部分中加载silverlight应用程序。一些初始化参数需要根据按钮点击时主机页面上的用户输入传递给silverlight应用程序。怎么做?通过后面的代码加载silverlight到aspx页面

我认为我需要从代码隐藏创建silverlight对象来设置自定义InitParameters。任何想法如何做到这一点?

回答

3

延伸到什么是提到here,你可以做这样的事情:

HtmlGenericControl myHtmlObject = new HtmlGenericControl("object"); 
myHtmlObject.Attributes["data"] = "data:application/x-silverlight-2"; 
myHtmlObject.Attributes["type"] = "application/x-silverlight-2"; 
myHtmlObject.Attributes["width"] = "100%"; 
myHtmlObject.Attributes["height"] = "100%"; 
this.Page.Controls.Add(myHtmlObject); 

HtmlGenericControl mySourceParam = new HtmlGenericControl("param"); 
mySourceParam.Attributes["name"] = "source"; 
mySourceParam.Attributes["value"] = "ClientBin/MySilverlightApplication.xap"; 
myHtmlObject.Controls.Add(mySourceParam); 

HtmlGenericControl myOnErrorParam = new HtmlGenericControl("param"); 
myOnErrorParam .Attributes["name"] = "onError"; 
myOnErrorParam .Attributes["value"] = "onSilverlightError"; 
myHtmlObject.Controls.Add(myOnErrorParam); 

HtmlGenericControl myInputParam = new HtmlGenericControl("param"); 
myOnErrorParam .Attributes["name"] = "InitParameters"; 
myOnErrorParam .Attributes["value"] = "param1=Hello,param2=World"; 
myHtmlObject.Controls.Add(myInputParam); 

this.Page.Controls.Add(myHtmlObject);