Silverlight都會有一個專案叫 *.Web,有個ManagePage.aspx裝戴Silverlight元件,也是應用程式的入口

然後還會有一個專案(此處叫ManageBack),會編譯成Silverlight .xap元件,供上面裝戴

ManageBack的App.xaml可提供應用程事週期的各種事件,像Global.ascx

如果我們寫了Web.config,要讓App.xaml可以在Application_Startup取得

具體做法如下

1.在ManagePage.aspx.cs取得WebConfig的參數

hostType = ConfigurationManager.AppSettings["hostType"];
if (ConfigurationManager.AppSettings["MagURL"] != null) MagURL = ConfigurationManager.AppSettings["MagURL"];
if (ConfigurationManager.AppSettings["MagBakURL"] != null) MagBakURL = ConfigurationManager.AppSettings["MagBakURL"];

  

2.在ManagePage.aspx <object></object>內 以InitParm封資料

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%" id="silverlightControl">
<param name="source" value="ClientBin/ManageBack.xap" />
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="enableHtmlAccess" value="true" />
<param name="minRuntimeVersion" value="4.0.50826.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration: none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight"
style="border-style: none" />
</a> <!--here-->
<param name="initParams" value="ModeType=<%=this.hostType %>,MagURL=<%=this.MagURL %>,MagBakURL=<%=this.MagBakURL %>" />
</object>

  

3.在App.xaml.cs 的Application_Startup,就可以用StartupEventArgs取得值

private void Application_Startup(object sender, StartupEventArgs e)
{
LoginPage page = new LoginPage();
System.Windows.Browser.HtmlPage.RegisterScriptableObject("SilverlightApplication", page); this.RootVisual = rootGrid;
rootGrid.Children.Add(page); bool registerResult = WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
bool httpsResult = WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp); int mode = ;
if (e.InitParams.ContainsKey("ModeType"))
{
if (Int32.TryParse(e.InitParams["ModeType"], out mode) == false)
{
mode = ;
}
}
if (e.InitParams.ContainsKey("MagURL"))
{
MagURL = e.InitParams["MagURL"];
}
if (e.InitParams.ContainsKey("MagBakURL"))
{
MagBakURL = e.InitParams["MagBakURL"];
}
App.Mode = mode;
}

  

[Silverlight 4] 參數的傳遞方法的更多相关文章

  1. shell傳遞參數

    Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 比如我們 ...

  2. 同一個Loader對象傳入不同參數時,从数据库中查询的結果每次都一樣

    發現問題: LoaderManager().initLoader()方法調用時會根據第一個參數ID去判斷是否已經存在一個Loader加載器,如果存在則複 用,不存在則建一個新的加載器.由於我第一次已經 ...

  3. 使用Expression做Linq的參數化排序

    Linq非常的好用,減少大量的資料庫操作手序,使用具名的類別,減少了在程式中寫SQL寫錯字的可能性,問題來了,如果我想用QueryString中的參數,作為排序的依據,但是因為是具名的類別,不能指定字 ...

  4. Linux下安裝Oracle database內核參數設置

    參考:1529864.1 ************************************************** RAM                                  ...

  5. 02.C#可空類型、默認參數、LINQ(一章1.3-1.4)

    利用上班時間發個隨筆,不知領導會不會看到,可能會有同事看到也說不定啊:) 關于可空類型,在C#1中沒有這個概念,在C#3中引入的.那比如我們要實現一個表示人的類,人有名字和年齡兩個屬性,如何表示一個沒 ...

  6. 設定 gpio 為 讀取用途,需注意的參數

    Schematic 解說 上面的 線路圖, R1 R2 只能有一個被接上, R3 R4 只能有一個被接上, 是使用 gpio 讀取 電壓 判斷為0 或是 1 這時的 gpio 設定,其中一個參數需設為 ...

  7. 在 kernel 下打出 有帶參數的log。 怪異現象與解決方式。

    code battery_log(BAT_LOG_CRTI, "youchihwang abc10010 xxxaaa8-2\r\n"); battery_log(BAT_LOG_ ...

  8. Csharp:操作存儲過程輸出參數,和返回值

    /// <summary> ///塗聚文 存儲過程輸出參數,和返回值 /// 20131030 /// Geovin Du /// </summary> /// <par ...

  9. 使用 new Q_max_capacity 參數,同樣 loading 下,粗估耗電量(UI 上的 %)。

    Precondition : 除了 Q_max 外,其它參數皆同. old Q_max_capacity : 1500 mAh new Q_max_capacity : 2200 mAh 有一個 lo ...

随机推荐

  1. odoo10学习笔记七:国际化、报表

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189297.html 一:国际化(模块翻译) 我们开发的模块要国际化通用,就要开发出不同的语言支持. 这些 ...

  2. devops 下测试组织管理面临的挑战及应对

    导读 先从引发的5个问题讲起,再简单回顾一下devops 简介和兴起背景 ,再从itest 测试管理团队的视角提出应对办法 DevOps后,测试面临的挑战        敏捷开发必然是迭代开发管理模式 ...

  3. Alpha2项目的测试

    这个作业属于哪个课程 课程的链接 这个作业的要求在哪里 作业要求的链接 团队名称 西柚三剑客 这个作业的目标 -测试其他团队的作品,并进行体验总结 姓名 学号 团队名称 段小刚 20173106231 ...

  4. 今晚,玩一玩linux上的DNS

    老哥遇到的问题, 我先按正规方式操作一波. 一,安装dns服务 yum install bind bind-utils -y 二,修改/etc/named.conf文件 options { liste ...

  5. 代码审计-ereg正则%00截断

    <?php $flag = "xxx"; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9]+$&qu ...

  6. bind 仿造 重写bind

    简单版,不带参数 Function.prototype.my_bind = function(targ){ var _this = this; return function(){ _this.app ...

  7. zz——Recent Advances on Object Detection in MSRA

    本文由DataFun社区根据微软亚洲研究院视觉组Lead Researcher Jifeng Dai老师在2018 AI先行者大会中分享的<Recent Advances on Object D ...

  8. java第三讲课后动手动脑及代码编写

    1. 类就是类型,对象就是这种类型的实例,也就是例子.类是抽象的东西,对象是某种类的实实在在的例子.例如:车是一个类,汽车,自行车就是他的对象. 对象的定义方法? (1)对象声明:类名 对象名: (2 ...

  9. Computer Network Chapter4 solution

    1.以太网使用曼彻斯特编码,效率50% 2.侦听信道时间:来回延时时间(10usec):发送数据(25.6usec): 3.单向时延t=S(距离)/V(电缆传输速率):最小帧长=2*t*C(数据传输速 ...

  10. Redis和MySQL数据同步及Redis使用场景

    1.同步MySQL数据到Redis (1) 在redis数据库设置缓存时间,当该条数据缓存时间过期之后自动释放,去数据库进行重新查询,但这样的话,我们放在缓存中的数据对数据的一致性要求不是很高才能放入 ...