前些日子做個項目,在Silverlight的Page.xaml頁面中讀取數據庫的信息,要將此登錄信息傳遞給Aspx頁面,涉及到Silverlight與Asp.Net交互的問題。
這裏要將UserID、RoleID的值傳遞給一個Aspx頁面,變成登錄的Session變量,如何解決!
這裏用一個簡單的方法來實現。
這裏如果是要將Aspx中的值傳遞給Silverlight中Xaml的頁面,如何解決呢?這裏給個思路!
在Silverlight2中可以用那個InitParameter來傳遞,但在Sl3中又改變了方式:
<param name="initparams" value="path=GeneratedImages/dzc_output.xml,zoomIn=3" />
App.Xaml.cs裏
if (e.InitParams != null)
{
foreach (var data in e.InitParams)
{
.....
}
}
這裏還可以採用以下直接的方法:
把參數直接存在: <input type="hidden" id="YouParaName" name="YouParaName" value="YouParaValue" >
然後在SL裏面:HtmlPage.Document.GetElementById("YouParaName").GetAttribute("value")
這樣也很方便,而且更容易理解,而且方便Post到服務器。