zoukankan      html  css  js  c++  java
  • Silverlight 与HTML元素交互操作

    Silverlight  中的HtmlPage 和 HtmlElement 分别代表HTML页面和HTML元素

    获取HTML元素改变他的属性

        <div>
            <img id="img1" src="Images/logo.jpg" />
        </div>

    xaml.cs:

    private void Button1_Click(object sender, RoutedEventArgs e)
            {
                //获取HTML中的img1对象
                HtmlElement img = HtmlPage.Document.GetElementById("img1");
                //根据输入值设置img1的html属性Width和Height
                img.SetAttribute("width", textBox1.Text);
                img.SetAttribute("height", textBox2.Text);
            }

    HTML元素操作Silverlight

    <div>        
            <select id="sel">
                <option value="Red">红ì色?</option>
                <option value="Green">绿ì色?</option>
                <option value="Blue">蓝?色?</option>
            </select>
        </div>
    
    xaml.cs:

    public htmldom2()
            {
                InitializeComponent();
                //获取select对象
                HtmlElement select = HtmlPage.Document.GetElementById("sel");
                //添加select的onchange事件
                select.AttachEvent("onchange"
                    , new EventHandler<HtmlEventArgs>(select_onChange));
            }

            public void select_onChange(object sender, HtmlEventArgs e)
            {
                //获取select的选择值
                HtmlElement select = sender as HtmlElement;
                string value = select.GetAttribute("value");
                textBlock1.Text = value;
                //根据用户选择值来改变椭圆形的Fill值
                switch (value)
                {
                    case "Red":
                        ellipse1.Fill = new SolidColorBrush(Colors.Red);
                        break;
                    case "Green":
                        ellipse1.Fill = new SolidColorBrush(Colors.Green);
                        break;
                    case "Blue":
                        ellipse1.Fill = new SolidColorBrush(Colors.Blue);
                        break;
                }
            }

    HTML 文本 和 URL文本的编解码

    Html编码

    HttpUtility.HtmlEncode(textBlock1.Text);
    HTML解码
    HttpUtility.HtmlDecode(textBlock2.Text);
    URL编码
    HttpUtility.UrlEncode(textBlock3.Text);
    URL解码
    HttpUtility.UrlDecode(textBlock4.Text);

    读写Cookie

    //客户端Cookie读写类
    public class CookieHelper
    {
        //根据Key和Value写客户端Cookie
        public static void SetCookie(string key, string value)
        {
            DateTime expire = DateTime.UtcNow
                + TimeSpan.FromDays(30);
            string cookie = string.Format("{0}={1};expires={2}"
                , key, value, expire.ToString("R"));
            HtmlPage.Document.SetProperty("cookie"
                , cookie);
        }
        //根据Key读客户端Cookie
        public static string GetCookie(string key)
        {
            key += '=';
            //取出所有Cookie
            string[] cookies =
                HtmlPage.Document.Cookies.Split(';');
            //遍历Cookie值
            foreach (string cookie in cookies)
            {
                string cookieStr = cookie.Trim();
                //获取Cookie的key名称的位置
                if (cookieStr.StartsWith(key,
                    StringComparison.OrdinalIgnoreCase))
                {
                    //分隔出key的值
                    string[] vals = cookieStr.Split('=');

                    if (vals.Length >= 2)
                    {
                        //返回值
                        return vals[1];
                    }
                    //如果没有找到则返回空白字符串
                    return string.Empty;
                }
            }
            //如果没有Cookie则返回空白字符串
            return string.Empty;
        }
    }

    在Silverlight 中使用 Dom 的Window 对象

    导航

             //根据输入值创建URI对象
             Uri uri = new Uri(tbUrl.Text, UriKind.RelativeOrAbsolute);
             //导航到URI地址
             HtmlPage.Window.Navigate(uri);

    浏览器提示窗口

    提示窗口

    HtmlPage.Window.Alert("这是使用HtmlPage调用的消息框!");

    判定窗口

    if (HtmlPage.Window.Confirm("你确定吗?")){}

    输入窗口

    string password = HtmlPage.Window.Prompt("请输入密码");

    示例出自Silverlight 3.0 开发详解与最佳实践一书

    冯瑞涛
  • 相关阅读:
    【卷积】卷积的理解
    【cs231n】神经网络学习笔记3
    【cs231n】神经网络笔记笔记2
    【cs231n】神经网络学习笔记1
    【cs231n】卷积神经网络
    【cs231n】反向传播笔记
    【cs231n】最优化笔记
    【cs231n】图像分类笔记
    【cs231n】线性分类笔记
    关于struts中Ognl和iterator配合再次理解
  • 原文地址:https://www.cnblogs.com/finehappy/p/1668613.html
Copyright © 2011-2022 走看看