我的 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");
}
});
这适用于我创建的电子学习课程,但 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);
但我没有正确定义任何构造函数