主要是针对msdn中的一篇文章进行代码实现的时候遇到的问题处理:
演练:从 JavaScript 调用托管代码
App.xaml写成这样,代码不完整,只贴出了需要修改的地方。

namespace HB
{
    public partial class App : Application
    {

        public App()
        {
            this.Startup += this.Application_Startup;
            this.Exit += this.Application_Exit;
            this.UnhandledException += this.Application_UnhandledException;

            InitializeComponent();
        }

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
            HtmlDocument doc = HtmlPage.Document;
            //Enable the HTML textbox on the page and say hello
            doc.GetElementById("Text1").SetProperty("disabled", false);
            doc.GetElementById("Text1").SetAttribute("value",
                "修改客户端的值.");
            MyScriptableManagedType smt = new MyScriptableManagedType();

            HtmlPage.RegisterScriptableObject("mySLapp", smt);
        }

HBTestPage.aspx页面

<%@ Page Language="C#" AutoEventWireup="true" %>

<!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 runat="server">
    <title>HB</title>

    <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="Silverlight.js"></script>
    <script type="text/javascript">
        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";
            }

            throw new Error(errMsg);
        }
        var slCtl = null;
        function pluginLoaded(sender, args) {      // HTML version
            slCtl = sender.getHost();
            alert(slCtl.Content.mySLapp.MyToUpper("test string"));
        }
        function Button1_onclick() {
            slCtl.Content.mySLapp.Name = navigator.appName;
            alert(slCtl.Content.mySLapp.Name);
        } 

</script>

</head>

<body>
  <form id="form1" runat="server" style="height:10%;">
  <asp:ScriptManager ID="ScriptManager1" runat="server">
  </asp:ScriptManager>
      <div id="silverlightControlHost">
		  <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
			  <param name="source" value="ClientBin/HB.xap"/>
			  <param name="onerror" value="onSilverlightError" />
			  <param name="background" value="white" />
			  <param name="minRuntimeVersion" value="3.0.40624.0" />
			  <param name="autoUpgrade" value="true" />
                          <param name="onLoad" value="pluginLoaded" />

			  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;">
     			  <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="获取 Microsoft Silverlight" style="border-style: none"/>
			  </a>
		  </object><iframe id="_sl_historyFrame" style='visibility:hidden;height:0;width:0;border:0px'></iframe></div>
		  <input id="Text1" type="text" disabled="disabled" value="My Initial Value" /><br />
		  <input id="Button1" type="button" value="Test set/get" onclick="return Button1_onclick()" />

  </form>
</body>
</html>

注意:以上html代码中,最重要的就是slCtl = sender.getHost();这行脚本,如果写成slCtl = sender.get_element();就不会显示了