将值从Default.aspx传递到silverlight3中的App或Main页面

时间:2011-08-30 11:37:16

标签: vb.net silverlight-3.0 ip

我正在使用silverlight3和vb.net ..我想将值从Default.aspx传递到我的应用程序或主页面。我在default.aspx页面写了代码,它返回客户端系统的本地IP地址,我希望在我的silverlight页面中使用相同的地址。

VB代码

Dim clientIPAddress = System.Net.Dns
    .GetHostAddresses(strHostName).GetValue(0).ToString()

clientIPAddress将获取客户端的本地IP,如192.168.1.12。现在我希望将此值传递到我的主页面。

请将此值从default.aspx传递到我的主页。

谢谢

1 个答案:

答案 0 :(得分:0)

您的default.aspx页面将包含加载Silverlight插件的<object>标记。您可以添加<param name="initParams value =“clientID = 192.168.1.12”>,如下所示: -

<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
      <param name="source" value="ClientBin/Silverlight3App.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="3.0.40818.0" />
      <param name="autoUpgrade" value="true" />
      <param name="initParams` value="clientID=192.168.1.12"`>
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
      </a>
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>

除了你当然不会对IP地址进行硬编码,但你会用一些VB.NET代码(我不做VB.NET)注入它。

initParams参数是一组名称=值对,在Silverlight中作为IDictionary(Of String, String)公开。您可以从Application Startup事件参数或Application.Current.Host.InitParams

获取此字典