zoukankan      html  css  js  c++  java
  • silverlight 制作图表首页(公司项目)参考easysl

    在web项目中调试silverlight的时候,经常是web项目中的断点有效,但是不能跳转到silverlight中的断点,跟easysl程序做对比,发现easysl也不能调试:报以下错误:

    无法调试,未安装“silverlight”托管调试包.”GOOGLE的很多方法,并且最终都不行.自己尝试以下解决方法:

    1.卸载掉"microsoft silverlight"和"microsoft silverlight 3 tools  for  visual studio 2008 sp1".,重启机器.如图:

     2.下载silverlight4_tools.exe,并且后缀名修改为.zip解压缩,直接装

     silverlight_developer.exe 文件.

    3.安装silverlight3_tools.exe工具.

    安装完成以后,EASYSL不报错,但是还是不能调试.选中调试的WEB项目,右键属性,在web选项中,调试器标签下选中“asp.net”和“silverlight”.如图:

    重新编译silverlight项目,并且调试。

    项目记录:

    SLUI 是所有silverlight的 项目集合。

    1.web页与silverlight之间参数交互是通过在web页中的控件增加属性,如:

    ////增加属性,在SILVERLIGHT读取HTML页面的下拉框 的值
      ddlYear.Attributes.Add("year", ddlYear.SelectedValue);

      ddlMonth.Attributes.Add("month", ddlMonth.SelectedValue);

    silverlight页读取增加的属性值:

    using System.Windows.Browser;

     HtmlDocument doc = HtmlPage.Document;

    HtmlElement element =  doc.GetElementById("ddlYear");
     string stryear = element.GetAttribute("value").ToString();

     element = doc.GetElementById("ddlMonth");

      string strmonth = element.GetAttribute("value").ToString();

    2.参考 easysl的使用方法:

    //UI层 page.xmal.cs
    //初始化一个task变量

    private Task getProductListTask;

    private TaskManager getProductListTaskManager;

    =================================================================

    //在页面程序初始化

    public homepage()

    {
         this.getProductListTask= newTask();
         //初始化请求数据
         getProductListTask.BeforeStart+=newEventHandler<EventArgs>(getProductListTask_BeforeStart);
         //回调时更新界面
         getProductListTask.Callback+=newGetDataAsyncCompleted(GetProductList_CallBack);

    }

    =============================================================================================

    //执行方法
    voidgetProductListTask_BeforeStart(objectsender,EventArgse)
    {      
       Tasktask=senderasTask;
       task.MethodName="GetProductList"; //对应于数据层的方法名
       task.ReturnType=typeof(List<Product>);//对应于数据层的返回类型
       task.SetParameter("count",int.Parse(this.count.Text));//对应于数据层的方法的参数
    }

    //回传返回的值
    publicvoidGetProductList_CallBack(Responseresponse)
    {
        List<Product>product=reponse.dataasList<Product>;
        //updateUI.
    }
    ============================================================================================    
    //所以你需要在数据访问层增加对应的方法(指EasySL.Service项目中的“DataService.Method.cs”书写以下方法):
    publicList<Product>GetProductList(intcount)
    {
        //getdatafromxmlordatabase
    }

    ==================================================================================

    private void UserControl_Loaded(object sender, RoutedEventArgs e)

                HtmlDocument doc = HtmlPage.Document;

                HtmlElement element =  doc.GetElementById("ddlYear");
               
                string stryear = element.GetAttribute("value").ToString();

                element = doc.GetElementById("ddlMonth");

                string strmonth = element.GetAttribute("value").ToString();

                dateflag = stryear + strmonth + "00";

                PerformMethod();
                
     }

    =============================================================================================

    /// <summary>
    /// 执行方法
    /// </summary>
    void PerformMethod()
    {
                //收入类别
                this.getProductListTaskManager = new TaskManager();

                this.getProductListTaskManager.TaskProcs.Add(this.getProductListTask);

                this.getProductListTaskManager.Start();

     }

     

     

  • 相关阅读:
    django-templates 模板变量
    实用代码
    游戏渠道后台上线
    游戏投放中的-LTV概念与价值
    转字符串格式format技巧
    mysql -数据库设计三范式
    OAuth2.0基本原理及应用
    回调函数
    GitHub 博客园快捷发布工具
    前端react antd加载错误解决
  • 原文地址:https://www.cnblogs.com/qipilang/p/2423797.html
Copyright © 2011-2022 走看看