如何在asp.net mvc应用程序中将InitParameters发送到Silverlight?

时间:2009-04-26 21:13:17

标签: asp.net asp.net-mvc silverlight

以前,我将信息传递给Page_Load方法内的Silverlight控件。即。

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 =“info = 1”进行硬编码,则可以正常工作。

1 个答案:

答案 0 :(得分:2)

不要使用&lt; asp:Silverlight runat =“server”/&gt;控制,它是一个webforms控件,并不真正属于MVC世界。您需要创建&lt; object&gt;标记自己 - 也许创建自己的Html助手扩展方法来创建它。

看一下这篇博文: Integrating Silverlight and ASP.NET MVC

HTH, 查尔斯

相关问题