Nie*_*ein 2 javascript razor knockout.js
我有一个cshtml页面,给出了这些错误:
Uncaught ReferenceError: $ is not defined TabNotes:2
(anonymous function) TabNotes:2
TabNotes:12Uncaught ReferenceError: ko is not defined TabNotes:12
(anonymous function) TabNotes:12
(anonymous function) TabNotes:23
Run Code Online (Sandbox Code Playgroud)
什么会导致这样的错误?我找不到任何理由这样做.我尝试在$(document).ready(function(){中包装javascript函数,但这也没有用.代码如下
@model test.Web.Framework.Areas.Administration.Models.TabNotesModel
@using (UI.DocumentReadyScript())
{
if (Model.meta.id.HasValue)
{
UI.jQuery("#tbl" + Model.meta.modelname).flexigrid(Model.Grid);
}
}
<form method="post" action="@Url.Action("TabNotes", new { cmd = "refresh" })" id="@Model.meta.modelname">
<div class="ui-state-highlight ui-corner-all highlight" data-bind="visible: meta.message">
<span class="ui-icon ui-icon-info"></span><strong data-bind="text: meta.message">
</strong>
</div>
@using (UI.BeginBlock("Administation.TabNotes", UI.Label("Notes", "Notes").ToString(), test.Web.Framework.Core.enumIcons.pencil, false, false))
{
<table id="@("tbl" + Model.meta.modelname)">
</table>
}
</form>
<script type="text/javascript">
(function() {
var viewModel=ko.mapping.fromJS(@Html.Raw(UI.JavascriptEncode(Model)));
viewModel.getData=function() { return ko.mapping.toJSON( this ); };
viewModel.setData=function(data){
$('#tbl'+this.meta.modelname()).flexigrid( data.Grid);
ko.mapping.updateFromJS(this,data);
};
$('#@Model.meta.modelname').koform({viewmodel: viewModel , validate : {errorElement:'p' } } );
$('#@Model.meta.modelname').koform('applyBindings');
$('#load-partial').click(function() {
$('#partial').load('@Html.Raw(@Url.Action("CreateNote", "Entity", new {modelEntity = @Model.meta.entity, itemId = @Model.meta.id}))');
});
})();
</script>
<div id="partial"></div>
<button type="button" id="load-partial">Create Note</button>
Run Code Online (Sandbox Code Playgroud)
编辑:从主页面加载jQuery.
这意味着没有定义jQuery($)和knockout(ko).当脚本执行时未加载库时,通常会出现这种情况.
确保在使用框架之前加载框架(即在页面级脚本之前插入与框架相关的脚本标记).如果这很好,请检查开发人员面板中的网络活动,以确定在下载框架时是否收到错误请求.可能是您正在异步加载框架,这意味着您需要一个异步处理程序来开始执行页面级脚本.
| 归档时间: |
|
| 查看次数: |
18467 次 |
| 最近记录: |