C# “我的控制器”加载生成的局部视图;有时";在应用程序启动时
我有一个主机页面,它有一个.CSHTML视图,当我们点击一个网格元素时,它最终会调用一个局部视图。然而,有时当我启动我的应用程序时,它首先尝试加载部分视图。我不知道这是为什么 只有当网格上的某个元素被单击时,它才会尝试加载局部视图,但在这里,它调用的是局部视图,而没有单击。下面是我的代码片段:C# “我的控制器”加载生成的局部视图;有时";在应用程序启动时,c#,jquery,ajax,asp.net-mvc,asp.net-mvc-4,C#,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 4,我有一个主机页面,它有一个.CSHTML视图,当我们点击一个网格元素时,它最终会调用一个局部视图。然而,有时当我启动我的应用程序时,它首先尝试加载部分视图。我不知道这是为什么 只有当网格上的某个元素被单击时,它才会尝试加载局部视图,但在这里,它调用的是局部视图,而没有单击。下面是我的代码片段: !DOCTYPE html> @using (Html.BeginForm()) { <div id="clientsDb"> @(Html.Kendo().Gr
!DOCTYPE html>
@using (Html.BeginForm())
{
<div id="clientsDb">
@(Html.Kendo().Grid<Employee>()
.Name("employeeGrid")
.Columns(columns =>
{
columns.Bound(c => c.Id).Width(140).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
columns.Bound(c => c.FirstName).Width(500).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
columns.Bound(c => c.LastName);
})
.HtmlAttributes(new {style = "height: 380px;"})
.Scrollable()
.Groupable()
.Sortable()
.Selectable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.Filterable(filterable => filterable
.Extra(true)
.Operators(operators => operators
.ForString(str => str.Clear()
.Contains("Contains")
.IsEqualTo("Exactly matches")
.StartsWith("Starts with")
.DoesNotContain("Does not contain")
.EndsWith("Ends with")
.IsNotEqualTo("Is not equal to")
))).DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("ReadEmployee", "Employee"))))
</div>
<script type="text/javascript">
$("#employeeGrid").click(function() {
var grid = $("#employeeGrid").data("kendoGrid");
var currentSelection = grid.dataItem(grid.select());
$.ajax({
data: { id: currentSelection.Id },
url: "/Employee/LoadTabControl/" + currentSelection.Id,
type: "POST",
success: function (result) {
$('#EmployeeDetails').html(result);
}
});
});
</script>
<div id ="EmployeeDetails"></div>
!DOCTYPE html>
@使用(Html.BeginForm())
{
@(Html.Kendo().Grid())
.名称(“员工网格”)
.列(列=>
{
columns.Bound(c=>c.Id).Width(140).Filterable(ftb=>ftb.Cell(Cell=>Cell.Operator(“contains”));
columns.Bound(c=>c.FirstName).Width(500).Filterable(ftb=>ftb.Cell(Cell=>Cell.Operator(“contains”));
columns.Bound(c=>c.LastName);
})
.HtmlAttributes(新的{style=“height:380px;”})
.Scrollable()
.Groupable()
.Sortable()
.可选()
.Pageable(Pageable=>Pageable
.刷新(真)
.页面大小(真)
.按钮计数(5))
.Filterable(Filterable=>Filterable
.额外(真实)
.Operators(Operators=>Operators
.ForString(str=>str.Clear()
.Contains(“Contains”)
.IsEqualTo(“完全匹配”)
.StartsWith(“以开头”)
.DoesNotContain(“不包含”)
.EndsWith(“以结尾”)
.IsNotEqualTo(“不等于”)
))).DataSource(DataSource=>DataSource
.Ajax()
.Read(Read=>Read.Action(“ReadEmployee”、“Employee”))
$(“#employeeGrid”)。单击(函数(){
风险值网格=$(“#员工网格”).data(“kendoGrid”);
var currentSelection=grid.dataItem(grid.select());
$.ajax({
数据:{id:currentSelection.id},
url:“/Employee/LoadTabControl/”+currentSelection.Id,
类型:“POST”,
成功:功能(结果){
$('#EmployeeDetails').html(结果);
}
});
});
如您所见,“/Employee/LoadTabControl/”或它加载的任何内容都不应调用,除非用户单击网格。但是,当我启动应用程序时,应用程序“有时”会尝试加载它。有什么建议吗?
<script type="text/javascript">
$(document).ready(function(){
var grid = $("#employeeGrid").data("kendoGrid");
$("#employeeGrid").click(function() {
var currentSelection = grid.dataItem(grid.select());
$.ajax({
data: { id: currentSelection.Id },
url: "/Employee/LoadTabControl/" + currentSelection.Id,
type: "POST",
success: function (result) {
$('#EmployeeDetails').html(result);
}
});
});
});
</script>
$(文档).ready(函数(){
风险值网格=$(“#员工网格”).data(“kendoGrid”);
$(“#employeeGrid”)。单击(函数(){
var currentSelection=grid.dataItem(grid.select());
$.ajax({
数据:{id:currentSelection.id},
url:“/Employee/LoadTabControl/”+currentSelection.Id,
类型:“POST”,
成功:功能(结果){
$('#EmployeeDetails').html(结果);
}
});
});
});