• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.net页面中通过Js控制Silverlight显示值

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

现在需要通过按钮来控制界面上的Silverlight显示的值。其方法如下。

1、首先在Silverlight中UserControl中编写一个js可以访问的方法。注意:此方法要用ScriptableMember特性。 

        //编写js访问silverLight 的方法,selectDate为参数
        [ScriptableMember()]
        
public void GetTrendChart(string selectDate)
        {
            DateTime tempDate 
= new DateTime();
            
if (string.IsNullOrEmpty(selectDate) || !DateTime.TryParse(selectDate, out tempDate))
            {
                ShowInfo(
"日期有误");
                
return;
            }

               
//取得资料,改变silverLight显示值,此处省略CreateTrendChart()的代码。
            CreateTrendChart(selectDate);
        }


2、在App.xaml中注册此方法。

        //在App.xaml中注册
        private void Application_Startup(object sender, StartupEventArgs e)
        {
                
//调用UserControl
                this.RootVisual = new Trend();
                
//注册js访问的方法
                System.Windows.Browser.HtmlPage.RegisterScriptableObject("TrendMethod"this
.RootVisual);
        }


 3.在Aspx页面的调用Silverlight中增加onload事件

            <%--调用siliverlight--%>
            
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
                width
="100%" height="100%">
                
<param name="source" value="../ClientBin/Iaddtech.Environmental.Web.Silverlight.xap" />
                
<param name="onError" value="onSilverlightError" />
                
<param name="background" value="white" />
                
<param name="minRuntimeVersion" value="3.0.40818.0" />
                
<%--增加Load事件--%>
                
<param name="onLoad" value="silverLoaded" />

                
<param name="autoUpgrade" value="true" />
                
<param name="Windowless" value="true" />
                
<href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration: none">
                    
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight"
                        style
="border-style: none" />
                
</a>
            
</object>


4、编写onload事件。通过onload事件得到siliverlight对象。

    <script type="text/javascript">
        
var silverlightObj = null;
        
function silverLoaded(sender, args) {
            silverlightObj 
= sender.getHost();     //get Siliverlight Object
        }
    
</script>


 5、在Aspx页面上增加一个input。通过此input改变Silverlight显示值。此input的onclick方法为GetTrendData.

        <div class="Query_button">
            
<input type="image" value="getDate" onclick="GetTrendData(); return false;" src="../Resources/images/see_button.jpg" />
        
</div>


 6、在js中添加input的click事件。 通过Click事件调用Silverlight中方法

    <script type="text/javascript">
        
//input的click事件
        function GetTrendData() {
           
//silverlightObj在上边的onload事件中已得到,selectDate为给silverlight的参数
            silverlightObj.Content.TrendMethod.GetTrendChart(selectDate);
        }
    
</script>


 这样就可以通过js来控制Silverlight显示值了。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap