0

MVC アプリケーションの _layout ページに次のスクリプト タグが含まれています。

<script src="https://backpack.openbadges.org/issuer.js"></script>

これは、コースの完了時にバッジを発行するために使用されます。これまでのところ、次のような JavaScript を使用してビューから直接バッジを発行してきました。

var postData = {
  'badgeClassID': 1
};

$.ajax({
  type: "GET",
  cache: false,
  url: "/Admin/NewBadgeAssertion",
  data: postData,
  success: function (dataBA) {
     var myURL = dataBA;
     OpenBadges.issue([myURL]);
  },
  error: function (error) {
     alert("An Error has occurred during the Issue of this OpenBadge");
  }
});

これは、私が作成した eLearning コースで機能していますが、SCORM コースの完了はウィンドウを閉じると記録され、ブラウザ ビューではなく C# コード ビハインドを通じて SCORM コースのバッジを発行したいと考えています。

ClientScriptManager を使用してコード ビハインドから OpenBadges.issue([myURL]) を呼び出すにはどうすればよいですか。RegisterStartupScript メソッドを見つけましたが、型、キー、およびスクリプトの値を導出する方法がわかりません。私はこれを試しました:

ClientScriptManager csm = new ClientScriptManager();
csm.RegisterStartupScript(GetType(), "msgbox", "alert('SCORM BADGE HAS BEEN ISSUED FOR SUCCESSFUL COMPLETION');", true); 

しかし、コンストラクターを正しく定義していません

4

1 に答える 1

0

これを試して:

まず、ビュー ページで、OpenIssues.issue の呼び出しなど、必要な処理を実行する単純な JavaScript 関数を作成します。

function myFunction(myUrl)
{
    alert('test:' + myUrl);
    OpenBadges.issue(myUrl);
}

コードビハインドでは、javascript 関数を呼び出すことができます。

String jscript = "myFunction('" + myUrl + "')"; //sending url as parameter
Page.ClientScript.RegisterStartupScript(this.GetType(),"myscript",jscript,true);
于 2014-03-26T12:15:25.247 に答える