2012-01-14 59 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);