zoukankan      html  css  js  c++  java
  • Silverlight向aspx传值

    之前有文章介绍了aspx向silverlight传值的问题http://www.cnblogs.com/lensso/archive/2010/07/27/1785844.html

    本文介绍silverlight向aspx传值的方法。

    1.通过silverlight调用aspx前台js函数的方法可以实现将silverlight中的值传给前台,实现对前台控件的赋值:

                ScriptObject SetMaterial = HtmlPage.Window.GetProperty("JS函数名") as ScriptObject;
    SetMaterial.InvokeSelf(“需要传给aspx前台的值”);

    这个方法有局限性,只能将值传到前台,无法从后台[即服务端]取得该值[当然,可能有其它方法可以实现服务端从前台取回值,例如使用JS]。

    2.使用cookie进行传值:

    silverlight中可以使用如下方法给cookie赋上值。

    HtmlPage.Document.SetProperty("cookie", "cookie的key=cookie的值");

    这里有一个需要注意的地方,那就是中文编码的问题,如果cookie的key为中文,则aspx端是取不到该cookie的,这个简单,key就用英文就行了,如果cookie的值为中文时,aspx端取到的是乱码。

    要解决这个问题则需要手动为cookie的值进行编解码,具体操作如下:

    HtmlPage.Document.SetProperty("cookie", string.Format("cookie的key={0}", HttpUtility.UrlEncode("cookie的值")));//silverlight端对cookie的值进行编码
    //aspx端进行解码
    HttpCookie cOrigin = Request.Cookies["Origin"];
    if (null != cMaterial)
    {
    string origin = Server.UrlDecode(cOrigin.Value);
    }





  • 相关阅读:
    POJ 2253 Frogger
    C++map函数的用法
    蓝桥杯 幂方分解
    蓝桥杯 危险系数
    POJ 2234 Matches Game
    POJ 1852 Ants
    POJ 1144 Network
    POJ1419 Graph Coloring
    poj 2573 Bridge(有A、B、C、D四个人,要在夜里过一座桥……)
    小知识(输出源文件的标题和目前执行行的行数)
  • 原文地址:https://www.cnblogs.com/larson/p/2274575.html
Copyright © 2011-2022 走看看