Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Div中引用@Section脚本_C#_Asp.net_Asp.net Mvc_Razor_Knockout.js - Fatal编程技术网

C# 在Div中引用@Section脚本

C# 在Div中引用@Section脚本,c#,asp.net,asp.net-mvc,razor,knockout.js,C#,Asp.net,Asp.net Mvc,Razor,Knockout.js,在div中调用@节脚本{…}时出现问题。目前,它声明未捕获错误:未知组件的产品选择器 问题:如何从div中调用我的partial,以便它将内容放在页面顶部附近 给我问题的代码部分: @section scripts{ @Html.Partial("ProductChooserScript", Model) } 查看:ProductSelector @使用(Html.BeginForm()) { @*在这里失败*@ @节脚本{ @Html.Partial(“ProductChooser

div
中调用
@节脚本{…}
时出现问题。目前,它声明
未捕获错误:未知组件的产品选择器

问题:如何从div中调用我的partial,以便它将内容放在页面顶部附近

给我问题的代码部分:

@section scripts{
    @Html.Partial("ProductChooserScript", Model)
}
查看:ProductSelector


@使用(Html.BeginForm())
{
@*在这里失败*@
@节脚本{
@Html.Partial(“ProductChooserScript”,模型)
}
}
函数ProductSelectionViewModel(数据){
var self=这个;
//这里还有其他javascript/淘汰逻辑。。。
}
$(函数(){
window.viewModel=newproductselectionviewmodel(@Html.Json(Model));
ko.applyBindings(window.viewModel,$(“#productForm”)[0])
})
附加说明:

@section scripts{
    @Html.Partial("ProductChooserScript", Model)
}
如果我移除
div
周围的
@section scripts{…}
并将其放在页面底部,它会呈现部分,但部分会呈现在页面底部(不是期望的结果),我希望它呈现在顶部附近

请注意我做了研究。。。其他来源没有解决此问题。


首先,视图代码中定义节的位置与任何内容都没有关系。换句话说,仅仅因为您在该div中定义了它,并不意味着该部分的内容将在那里结束。无论布局在何处调用
RenderSection
,都会渲染该部分


其次,您只能在布局或视图中定义使用布局的部分。局部视图无法定义剖面,因为局部视图不引用布局。

首先,视图代码中定义剖面的位置与任何内容都没有关系。换句话说,仅仅因为您在该div中定义了它,并不意味着该部分的内容将在那里结束。无论布局在何处调用
RenderSection
,都会渲染该部分


其次,您只能在布局或视图中定义使用布局的部分。局部视图无法定义剖面,因为局部视图不引用布局。

经过进一步研究,我能够解决我的问题。该错误与我的
淘汰版
有关。。。我将
@section scripts{…}
移动到视图的底部,然后创建了一个
div
,id为
productChooser

以前,我的
ko.components.register…
追加了
正文
,该正文在页面底部呈现。更改my
productChooser
的附加后,它将按预期呈现

我的视图:ProductSelector


@使用(Html.BeginForm())
{
}
函数ProductSelectionViewModel(数据){
var self=这个;
//这里还有其他javascript/淘汰逻辑。。。
}
$(函数(){
window.viewModel=newproductselectionviewmodel(@Html.Json(Model));
ko.applyBindings(window.viewModel,$(“#productForm”)[0])
})
@节脚本{
@Html.Partial(“ProductChooserScript”,模型)
}
ProductChooserScript

<script type="text/javascript">
(function (){
     ko.components.register('product-chooser', {
    viewModel: {
        createViewModel: function (params) {
            var chooserModel = new ViewModel(params);
            var modalHtml = $('#product-chooser-template').html();
            $('#productChooser').append(modalHtml);
            var el = $('#MyModal')[0];
            ko.applyBindings(chooserModel, el);
            initializeControl(chooserModel);
            return chooserModel;
        }
    },
    template: $('#product-chooser-preview-template').html()
});
})();
</script>

(功能(){
ko.components.register('product-chooser'{
视图模型:{
createViewModel:函数(参数){
var chooserModel=新视图模型(参数);
var modalHtml=$(“#产品选择器模板”).html();
$('#productChooser').append(modalHtml);
var el=$('#MyModal')[0];
ko.应用绑定(chooserModel,el);
初始化控件(选择模型);
返回选择器模型;
}
},
模板:$(“#产品选择器预览模板”).html()
});
})();

经过进一步研究,我能够解决我的问题。该错误与我的
淘汰版
有关。。。我将
@section scripts{…}
移动到视图的底部,然后创建了一个
div
,id为
productChooser

以前,我的
ko.components.register…
追加了
正文
,该正文在页面底部呈现。更改my
productChooser
的附加后,它将按预期呈现

我的视图:ProductSelector


@使用(Html.BeginForm())
{
}
函数ProductSelectionViewModel(数据){
var self=这个;
//这里还有其他javascript/淘汰逻辑。。。
}
$(函数(){
window.viewModel=newproductselectionviewmodel(@Html.Json(Model));
ko.applyBindings(window.viewModel,$(“#productForm”)[0])
})
@节脚本{
@Html.Partial(“ProductChooserScript”,模型)
}
ProductChooserScript

<script type="text/javascript">
(function (){
     ko.components.register('product-chooser', {
    viewModel: {
        createViewModel: function (params) {
            var chooserModel = new ViewModel(params);
            var modalHtml = $('#product-chooser-template').html();
            $('#productChooser').append(modalHtml);
            var el = $('#MyModal')[0];
            ko.applyBindings(chooserModel, el);
            initializeControl(chooserModel);
            return chooserModel;
        }
    },
    template: $('#product-chooser-preview-template').html()
});
})();
</script>

(功能(){
ko.components.register('product-chooser'{
视图模型:{
createViewModel:函数(参数){
var chooserModel=新视图模型(参数);
var modalHtml=$(“#产品选择器模板”).html();
$('#productChooser').append(modalHtml);
var el=$('#MyModal')[0];
ko.应用绑定(chooserModel,el);
初始化控件(选择模型);
返回选择器模型;
}
},
模板:$(“#产品选择器预览模板”).html()
});
})();