ajax调用asp.net后台方法:

test.aspx.cs后台代码如下:

 [WebMethod]
        public static string test1()
        {
            return "hello";
        }
//特别要提醒的是此处返回的值是{"d":""}格式,也就是说返回的值是{"d":"hello"}

test.aspx ajax代码

 $.ajax({
            type: "Post",
            url: "deepzooming.aspx/imgsall",
            contentType: "application/json; charset=utf-8",
            success: function (ms) {
                                alert("msg" + ms.d);
                
            }
        });

asp.net传值到silverlight:

显示silverlight控件的html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

<head>
    <title>deepzoomimg</title>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Cache-Control"content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
    <style type="text/css">
    html, body {
        height: 100%;
        overflow: auto;
    }
    body {
        padding: 0;
        margin: 0;
    }
    #silverlightControlHost {
        height: 100%;
        text-align:center;
    }
    </style>
    <script type="text/javascript" src="js/jquery-1.4.1.js"></script>
    <script type="text/javascript" src="Silverlight.js"></script>
    <script type="text/javascript">
        var siliverlightObj=null;
        function siliverLoaded(sender,args){
            siliverlightObj = sender.getHost();
            //getSiliverlightObject
            GetTrendData();
        }
      //此方法是用了获取其他页面传过来的值
function GetTrendData() { str = location.href; //获取本页url地址 //alert(str); arr = str.split("?"); str1 = arr[1]; arr1 = str1.split("="); var selectDate = arr1[1]; //siliverlightObj在上边的onload事件中已得到,selectDate为给siliverlight的参数      //此处通过获得silverlight对象调用silverlight中的方法
siliverlightObj.Content.TrendMethod.GetThree(selectDate); }
function onSilverlightError(sender, args) { var appSource = ""; if (sender != null && sender != 0) { appSource = sender.getHost().Source; } var errorType = args.ErrorType; var iErrorCode = args.ErrorCode; if (errorType == "ImageError" || errorType == "MediaError") { return; } var errMsg = "Silverlight 应用程序中未处理的错误 " + appSource + "\n" ; errMsg += "代码: "+ iErrorCode + " \n"; errMsg += "类别: " + errorType + " \n"; errMsg += "消息: " + args.ErrorMessage + " \n"; if (errorType == "ParserError") { errMsg += "文件: " + args.xamlFile + " \n"; errMsg += "行: " + args.lineNumber + " \n"; errMsg += "位置: " + args.charPosition + " \n"; } else if (errorType == "RuntimeError") { if (args.lineNumber != 0) { errMsg += "行: " + args.lineNumber + " \n"; errMsg += "位置: " + args.charPosition + " \n"; } errMsg += "方法名称: " + args.methodName + " \n"; } 引发新错误(errMsg); } </script> </head> <body> <form id="form1" runat="server" style="height:100%"> <div id="silverlightControlHost"> <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/deepzoomimg.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="onLoad"value="siliverLoaded"/> <param name="minRuntimeVersion" value="4.0.50401.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none"> <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight" style="border-style:none"/> </a> </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div> </form> <script type="text/javascript"> </script> </body> </html>

在app.xaml.cs注册TrendMethod的代码:

private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
            System.Windows.Browser.HtmlPage.RegisterScriptableObject("TrendMethod", this.RootVisual);
        }

在Mainpage.xaml.cs中添加要调用的方法 代码如下:

[ScriptableMember]
        public void GetThree(string imgfile)
        {
            msi.Source = new DeepZoomImageTileSource(new System.Uri("/"+imgfile+"/dzc_output.xml", UriKind.Relative));
            // LayoutRoot.Children.Add(msi);
            msi.UpdateLayout();
        }

 

 

 

 

 

posted on 2013-01-29 14:55  断肠夕阳丿  阅读(422)  评论(0编辑  收藏  举报