3

我正在玩 Silverlight 3。我正在尝试将当前用户 ID 放入 Silverlight 3 页面。我做了一些研究,initParams 似乎是正确的方法。麻烦的是,他们似乎使用了 asp:Silverlight 控件,而这在 SL3 中消失了。假设这是正确的方法,我试图将变量放入 initParams 列表中。

我从一个名为“MyFirstSilverlightApp”的新 Silverlight 3 应用程序开始。我在“MyFirstSilverlightAppTestPage.aspx”中添加了一个代码隐藏页面,以允许我做任何聪明的事情。

我已经设法通过将它添加到对象定义的参数中来硬编码一个 initParam:

    <param name="initParams" value="userID=id42" />

在 App.xaml.cs 中,我将以下内容添加到 Application_Startup:

    string userID = e.InitParams["userID"];

我已经在构造函数的参数中将它传递到我的页面中,然后在控件中使用它。这一切都有效。

我无法解决的是如何从我在代码隐藏中创建的变量中获取值到参数名称值定义中。任何帮助将不胜感激。

4

2 回答 2

2

一种快速的肮脏方法是<% %>在参数中使用:-

<param name="intiParams" value="userID=<%=myUserID%>" />

我首选的解决方案是创建我自己的 Silverlight Web 控件,它可以按照我的应用程序定制的方式呈现对象标记及其内容。

于 2009-09-21T10:43:32.117 回答
0

将其添加到您的资源集合中。

尝试类似的东西。

For Each item As KeyValuePair(Of String, String) In e.InitParams
    Resources.Add(item.Key, item.Value)
Next
于 2009-09-21T12:25:39.663 回答