2009-04-26 53 views
2

以前,我將信息傳遞給Page_Load方法內的Silverlight控件。即你會如何發送InitParameters到Silverlight的一個asp.net mvc應用程序?

protected void Page_Load(object sender, EventArgs e) 
{ 
    MainContainer.InitParameters = "info=" + CurrentUserID.ToString(); 
} 

在MVC中,沒有的概念代碼隱藏,我通過用戶ID作爲模型的一部分,但下面的代碼似乎並不奏效:

<asp:Silverlight id="MainContainer" 
    InitParameters="info=<%= Model.CurrentUserID %>" runat="server" 
    Source="~/ClientBin/SilverlightControls.xap" ... /> 

如果你看看那被呈現給瀏覽器的代碼,它是逃避MVC標籤,所以它就會像這樣發:

value="info=&lt;%= Model.CurrentUserID %>" 

,如果我嘗試硬編碼InitParameters =「信息= 1」,它的工作原理。

回答

2

不要使用< asp:Silverlight runat =「server」/>控件,它是一個webforms控件,並不屬於MVC世界。您需要自己創建<對象>標籤 - 也許創建您自己的Html助手擴展方法來創建它。

看一看這個博客帖子: Integrating Silverlight and ASP.NET MVC

HTH, 查爾斯

相關問題