`
terryfeng
  • 浏览: 506946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 开发详解与最佳实践一书

分享到:
评论

相关推荐

    如何在Silverlight控件中与Html元素交互

    在某些场景下,我们可能需要在Silverlight控件中与HTML元素进行交互,以便实现更复杂的网页功能。本文将详细介绍如何在Silverlight中实现与HTML元素的交互。 首先,理解Silverlight与HTML的运行环境至关重要。...

    Silverlight与Html交互

    总之,Silverlight与HTML的交互是Web开发中的一个重要方面,它使得动态内容和丰富功能得以在传统的HTML页面中无缝集成,提升了用户体验。随着技术的发展,虽然Silverlight逐渐被HTML5和其他现代Web技术取代,但理解...

    silverlight与javascript交互操作.doc

    在本文档中,我们探讨了如何...在实际开发中,还可以利用其他Silverlight与JavaScript的交互方式,比如通过`HtmlPage`类访问DOM元素,或者使用`System.Windows.Browser`命名空间中的API与JavaScript进行更深入的集成。

    silverlight beta2 从入门到精通(8),与html或aspx页交互(2)

    - **页面状态管理**: Silverlight可以保存用户在页面上的操作状态,当用户导航离开后再返回,可以通过与HTML页面交互恢复先前的状态。 - **数据更新**: Silverlight控件可以实时显示服务器端数据的变化,通过与HTML...

    silverlight beta2 从入门到精通(8),与html或aspx页交互

    《Silverlight Beta2 从入门到精通(8): 与HTML或ASPX页交互》 在Web开发领域,Silverlight作为一个强大的富互联网应用程序(RIA)框架,为开发者提供了丰富的用户体验和交互性。本篇将深入探讨如何利用Silverlight ...

    在Silverlight嵌入Html(开源)

    - 渲染引擎:为了呈现HTML,可能包含一个轻量级的HTML渲染引擎,能够解析和绘制HTML元素。 - JavaScript交互:为了使HTML内容能够与Silverlight应用交互,可能提供了JavaScript API或者Bridge机制。 **五、应用场景...

    Silverlight2.0的托管与前端交互

    **Silverlight 2.0:托管代码与前端交互详解** Silverlight是由Microsoft开发的一种富互联网应用程序(RIA)技术,主要用于创建具有丰富媒体体验和交互性的Web应用。在Silverlight 2.0版本中,它引入了更强大的功能...

    基于Silverlight实现的与Html控件的进行互相操作的源码例子

    本源码例子是关于如何使用Silverlight与HTML控件进行交互,这对于构建混合型Web应用,即结合了客户端富媒体体验与服务器端功能的应用非常有用。下面将详细介绍这一技术及其相关知识点。 首先,Silverlight运行时...

    Silverlight加载html海康视频

    3. **处理交互**:由于海康视频可能需要JavaScript或其他交互功能,可以通过Silverlight的`HtmlPage`类与HTML页面进行通信。例如,可以监听HTML中的事件并在Silverlight应用中响应。 4. **兼容性和安全**:加载外部...

    silverlight 嵌入HTML或aspx页面示例

    在本文中,我们将深入探讨如何将Silverlight应用嵌入到HTML或ASP.NET(ASPx)页面中,以便为用户提供动态的交互内容。 ### 1. Silverlight介绍 Silverlight是一种插件技术,它可以嵌入到浏览器中,为网页提供...

    SL与ASPX、Html交互

    文件名“HTMLAndSilverlight4”暗示了讨论可能集中在Silverlight 4版本,该版本增强了Silverlight与HTML的交互能力,例如添加了对HTML DOM操作的支持,使得Silverlight可以更方便地与HTML元素交互。 综合以上,我们...

    silverlight和web页面互相传值

    2. **修改Silverlight插件的属性**:通过修改Silverlight插件的HTML元素属性,如`data`,然后在Silverlight内部监听属性变化来获取数据。 **四、安全与限制** 虽然上述方法方便了数据交换,但也有安全限制。由于...

    silverlight嵌入网页控件

    这个文件可能包含一个HTML容器,当Silverlight应用加载时,这个容器会被动态填充内容,比如数据驱动的图表、用户交互的表单或者其他动态生成的HTML元素。通过这种方式,开发者可以灵活地更新和管理网页内容,同时...

    selenium silverlight 测试接口

    这个"Silverlight-selenium"可能是一个这样的扩展,它为 Selenium 添加了对 Silverlight 元素的识别和操作能力。 **WebDriver与Silverlight** WebDriver 是 Selenium 的一部分,它是一个用于控制浏览器并执行自动...

    html5/silverlight上传

    4. `uploader.js`和`uploader.min.js`:这是上传组件的主要JavaScript代码,实现了与HTML5和Silverlight的交互,以及可能的文件预览、MD5计算等功能。 5. `index.js`:可能是另一个用于管理上传组件的JavaScript文件...

    Silverlight_x64.zip

    2. **Expression Blend**: 这是另一款微软工具,专为设计人员设计,用于创建Silverlight的视觉元素和交互式设计。 **四、Silverlight的应用场景** 1. **在线视频**: 许多流媒体服务,如Netflix,曾使用Silverlight...

    silverlight学习

    4. **与传统Winform和Webform的区别**:与需要.NET Framework环境的Winform不同,Silverlight作为浏览器插件运行,提供媒体体验和丰富的交互性应用。在Webform中,可以通过引用.xap包将Silverlight集成到网页中。 5...

    SilverlightApplication1 button

    总的来说,"SilverlightApplication1 button"是一个入门级的示例,展示了Silverlight中如何创建并操作按钮元素。通过深入了解Silverlight的各个方面,开发者可以构建出功能丰富、视觉吸引人的Web应用。尽管...

Global site tag (gtag.js) - Google Analytics