Jquery _Layout.cshtml和my ViewFile.cshtml之间的交互是什么?
在_Layout.cshtml中,有对jQuery和bootstrap.min.js的引用。 然而,在我的ViewFile页面中,除非包含对jQuery的引用和数据表,否则我无法使数据表工作。这是针对Mac的Visual Studio 2017。我正在尝试得到一个分页的表格,它响应浏览器的大小调整,具有列排序、搜索功能、第一个、下一个等漂亮的按钮,页面大小选择器位于左上角,搜索窗口位于右上角。我不断得到不同的组合,当它看起来合适时,没有列排序按钮等。下面是_Layout.cshtml文件中的内容:Jquery _Layout.cshtml和my ViewFile.cshtml之间的交互是什么?,jquery,asp.net-mvc,datatables,Jquery,Asp.net Mvc,Datatables,在_Layout.cshtml中,有对jQuery和bootstrap.min.js的引用。 然而,在我的ViewFile页面中,除非包含对jQuery的引用和数据表,否则我无法使数据表工作。这是针对Mac的Visual Studio 2017。我正在尝试得到一个分页的表格,它响应浏览器的大小调整,具有列排序、搜索功能、第一个、下一个等漂亮的按钮,页面大小选择器位于左上角,搜索窗口位于右上角。我不断得到不同的组合,当它看起来合适时,没有列排序按钮等。下面是_Layout.cshtml文件中的内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Maestro</title>
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a asp-area="" asp-controller="LogFileViewer" asp-action="SelectFile" class="navbar-brand">Maestro</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-area="" asp-controller="LogFileViewer" asp-action="SelectFile">LogFiles</a></li>
<li><a asp-area="" asp-controller="Home" asp-action="About">About</a></li>
<li><a asp-area="" asp-controller="Home" asp-action="Contact">Contact</a></li>
</ul>
</div>
</div>
</nav>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© 2018 - Maestro</p>
</footer>
</div>
<environment include="Development">
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"></script>
</environment>
<environment exclude="Development">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT"></script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"></script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
@RenderSection("Scripts", required: false)
</body>
</html>
@ViewData[“标题”]-迈斯特罗
切换导航
大师
- 日志文件
- 关于
- 接触
@RenderBody()
&抄袭;2018年-迈斯特罗
@RenderSection(“脚本”,必需:false)
在my ViewFile.cshtml的顶部:
@{
ViewData["Title"] = "View";
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"></script>
}
@{
视图数据[“标题”]=“视图”;
}
表的定义如下:
<table id="table_id" class="table table-condensed table-striped table-hover" width="100%" cellspacing="0">
下表为:
<script>$(document).ready(function ()
{
$('#table_id').dataTable( {
"pagingType": "full_numbers",
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"scrollY" : "400px",
"paging": true,
"ordering": true,
"info": true,
"searching": true,
"processing": true, // for show progress bar
"serverSide": false, // for process server side
"filter": true, // this is for disable filter (search box)
"orderMulti": false, // for disable multiple column at once
"columnDefs":
[{
"targets": [0],
"visible": false,
"searchable": false
}],
"columns": [
{ "data": "DateTime", "name": "DateTime", "autoWidth": true },
{ "data": "Msecs", "name": "Msecs", "autoWidth": true },
{ "data": "Thread", "name": "Thread", "autoWidth": true },
{ "data": "Level", "name": "Level", "autoWidth": true },
{ "data": "Logger", "name": "Logger", "autoWidth": true },
{ "data": "Host", "name": "Host", "autoWidth": true },
{ "data": "MsgType", "name": "MsgType", "autoWidth": true },
{ "data": "Message", "name": "Message", "autoWidth": true }
]
});
});</script>
> Is there some interaction between the js and css files in the
> _Layout.cshtml and the ones at the top of the ViewFile.cshtml?
>
> What would be THE set of js and css files to include to get what I
> want? I can't find images of what a set does.
$(文档).ready(函数()
{
$('#表_id')。数据表({
“pagingType”:“完整编号”,
“长度菜单”:[[10,25,50,-1],[10,25,50,“全部”],
“滚动”:“400px”,
“分页”:正确,
“排序”:正确,
“信息”:正确,
“搜索”:没错,
“处理”:true,//用于显示进度条
“服务器端”:false,//用于进程服务器端
“过滤器”:true,//这是用于禁用过滤器(搜索框)
“orderMulti”:false,//用于一次禁用多个列
“columnDefs”:
[{
“目标”:[0],
“可见”:假,
“可搜索”:false
}],
“栏目”:[
{“data”:“DateTime”,“name”:“DateTime”,“autoWidth”:true},
{“data”:“Msecs”,“name”:“Msecs”,“autoWidth”:true},
{“数据”:“线程”,“名称”:“线程”,“自动宽度”:true},
{“数据”:“级别”,“名称”:“级别”,“自动宽度”:true},
{“data”:“Logger”,“name”:“Logger”,“autoWidth”:true},
{“数据”:“主机”、“名称”:“主机”、“自动宽度”:true},
{“data”:“MsgType”,“name”:“MsgType”,“autoWidth”:true},
{“数据”:“消息”,“名称”:“消息”,“自动宽度”:true}
]
});
});
>中的js和css文件之间是否存在一些交互
>_Layout.cshtml和ViewFile.cshtml顶部的布局?
>
>为了得到我想要的东西,需要包含哪些js和css文件
>想要什么?我找不到一台电视机的图像。
在ViewFile.cshtml的@section scripts{}中声明datatable javascript代码
@section scripts {
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
}
@节脚本{
}
并将您的其他javascript代码(用于数据表初始化)放在部分中谢谢!这真的很有帮助。当我听从你的建议时,列排序按钮出现了。我不确定_Layout.cshtml中的脚本实际上是做什么的,但上面解决了我的问题。当使用_Layout.cshtml呈现ViewFile.cshtml时,您的javascript将显示在jquery脚本之前。。(在
@RenderBody()
之后,您将声明jquery和其他javascript文件)。由于这个原因,它不起作用。为了解决这个问题,我们有一些小节,您在小节中声明/编写的javascript代码将取代@RenderSection(“Scripts”,required:false)