我正在使用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传递到我的主页。
谢谢

最佳答案

您的default.aspx页面将具有<object>标记,该位置将加载Silverlight插件。您可以添加<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)来注入IP地址。

initParams参数是在Silverlight中以IDictionary(Of String, String)形式显示的一组名称=值对。您可以从“应用程序启动”事件参数或从Application.Current.Host.InitParams获取此词典。

关于vb.net - 在Silverlight3中将值从Default.aspx传递到应用程序或主页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7242510/

10-15 22:25