Silverlight与Asp.net之间的调用及参数传递
共有兩種方式來傳遞初始化參數
1)在html或者aspx頁面中object對象中加入一下代碼
參數格式:參數名 = 值,參數名 = 值,...
<param name="initParams" value = "name = John , sex = m"/>
取得參數的方法
在app頁面中
StringBuilder txtMsg = new StringBuilder();
foreach (string key in e.InitParams.Keys)
{
txtMsg.Append(String.Format("{0} : {1}", key, e.InitParams[key])).Append("\r");
}
MessageBox.Show(txtMsg.ToString());
在任意頁面中
StringBuilder txtMsg = new StringBuilder();
foreach (string key in App.Current.Host.InitParams.Keys)
{
txtMsg.Append(String.Format("{0} : {1}", key, App.Current.Host.InitParams[key])).Append("\r");
}
MessageBox.Show(txtMsg.ToString());
2)在URL中傳遞參數也可以用表單傳遞參數
http://localhost:45876/Silverlight4TestPage.aspx?name=Cena&age=100
在App頁面中
IDictionary<string, string> queryString = HtmlPage.Document.QueryString;
if (queryString != null && queryString.Count > 0 && queryString.ContainsKey("name"))
{
string str = queryString["name "].ToString());
}
在任意頁中取參數值
txtMsg = new StringBuilder();
foreach (string key in HtmlPage.Document.QueryString.Keys)
{
txtMsg.Append(String.Format("{0} : {1}", key, HtmlPage.Document.QueryString[key])).Append("\r");
}
if (!"".Equals(txtMsg.ToString()))
{
MessageBox.Show(txtMsg.ToString());
}
另外:
<param name="initParams" value = "age = 24" />
<param name="initParams" value = "name = John , sex = m"/>
在IE和谷歌瀏覽器中解析的順序不一樣,IE是第一條參數而谷歌是第二條參數
但是無論哪種瀏覽器都只一條記錄
3)在Silverlight中打開Asp.net頁面或Silverlight頁面并傳值
string targetFeatures = string.Format("top=0,left=0,width={0},height={1},menubar=0,toolbar=0,directories=0,location=0,status=0,scrollbars=0,resizable=1", w, h);
string uri = string.Format("http://localhost:1452/Be.BPM.Module.FormTestPage.aspx?auditflow=0");
HtmlPage.Window.Navigate(new Uri(uri, UriKind.RelativeOrAbsolute), "_blank", targetFeatures);
HtmlPopupWindowOptions options = new HtmlPopupWindowOptions();
options.Width = 500;
options.Height = 500;
Uri uri = new Uri("http://localhost:3150/WebForm1.aspx?name=lyf", UriKind.Absolute);
HtmlWindow win = HtmlPage.PopupWindow(uri, "_blank", options);
本文部分內容來自小鬼大周的博客,原文地址:http://www.cnblogs.com/Zyang/archive/2012/01/11/InitParams.html
轉載于:https://www.cnblogs.com/lyf681888/p/3532426.html
總結
以上是生活随笔為你收集整理的Silverlight与Asp.net之间的调用及参数传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改PHP上传文件的大小限制
- 下一篇: poj 2965