在Asp.Net Core MVC 开发过程中遇到的问题总结
1. Q: Razor视图中怎么添加全局模型验证消息
A:使用ModelOnly
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
2.Q:树形表格,使用的是bootstrap-table+jquery.treegrid
A:
效果
参考的代码,某些地方添加了注释
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-treegrid/0.2.0/css/jquery.treegrid.min.css" rel="stylesheet">
<link href="https://unpkg.com/bootstrap-table@1.15.5/dist/bootstrap-table.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-treegrid/0.2.0/js/jquery.treegrid.min.js"></script>
<script src="https://unpkg.com/bootstrap-table@1.15.5/dist/bootstrap-table.min.js"></script>
<script src="https://unpkg.com/bootstrap-table@1.15.5/dist/extensions/treegrid/bootstrap-table-treegrid.min.js"></script>
<table id="table"></table>
<script>
var $table = $('#table')
$(function() {
$table.bootstrapTable({
url: 'json/treegrid.json',
striped: true,
sidePagination: 'server',
idField: 'id',
showColumns: true,
columns: [
{
field: 'ck',
checkbox: true
},
{
field: 'name',
title: '名称'
},
{
field: 'status',
title: '状态',
sortable: true,
align: 'center',
formatter: 'statusFormatter'
},
{
field: 'permissionValue',
title: '权限值'
}
],
treeShowField: 'name',//注意
parentIdField: 'pid',//注意
onPostBody: function() {
var columns = $table.bootstrapTable('getOptions').columns
if (columns && columns[0][1].visible) {
$table.treegrid({
treeColumn: 1,
onChange: function() {
$table.bootstrapTable('resetWidth')
}
})
}
}
})
})
function statusFormatter(value, row, index) {
if (value === 1) {
return '<span class="label label-success">正常</span>'
}
return '<span class="label label-default">锁定</span>'
}
</script>
给复选框添加选择的点击功能,在一个表格中选中一行时,加载与此行有关的数据信息。其他的相关js的引用请自行添加
$RoleTable.on('check.bs.table uncheck.bs.table ' +
'check-all.bs.table uncheck-all.bs.table',
function () {
$('#RoleToNavi').prop('disabled', !$RoleTable.bootstrapTable('getSelections').length);
$.map($RoleTable.bootstrapTable('getSelections'),
function (row) {
roleId = row.Id;
$RoleNavigationTable.bootstrapTable('destroy');//销毁
$RoleNavigationTable.bootstrapTable({//重新加载
});
});
});
3.Q:Razor中定义函数~~~~
A:使用
@function
4.Q:EFCore中怎么设定decimal的精度,如果不设置精度的话,默认生成数据库(MariaDB)中默认精度是(65,30)
A:设置固定精度问题,示例代码如下
public class MyProjectContext : DbContext
{
public DbSet<Order> Orders { get; set; }
rotected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Order>(b =>
{
//配置订单的金额浮点数精度为decimal(18,6)
b.Property(p => p.Amount).HasColumnType("decimal(18,6)");
});
}
}
5.Q:WPF问题:mvvm模式下,怎么让点击按钮关闭窗口
A: 使用带参数的Command进行实现,具体代码如下:
//command定义
public ICommand CancelCommand { get; set; }
// CancelCommand实现
CancelCommand = new RelayCommand<Window>((window)=>
{
window.Close();
});
xaml:代码
<Window x:Class="MvvmCloseWindowApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MvvmCloseWindowApp"
mc:Ignorable="d"
Name="MWindow"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Close Window" Width="100" Height="25" Command="{Binding CancelCommand}" CommandParameter="{Binding ElementName=MWindow}" data-tomark-pass />
</Grid>
</Window>
6.Q:asp.net core mvc 将ViewBag中的数据在js中调用/在razor页面中的js代码调用razor变量
A:假设Action传递到Razor View页面一个参数:ViewBag.Title
,在JS中使用这个数据的话需要这样用'@ViewBag.Title'
,就是在@ViewBag.Title
两边加上引号,使用单引号或双引号,这两个都可以
可以使用 @param
,对于要获取的字符串,需要加引号,如'@param
,最好都加上引号,因为你不知道js引用后到底是什么类型的数据
7.Q:使用了Nigix代理后,在使用wpf客户端post方法提交数据时,出现如下错误:
<html><head><title>413 request Entity Too Large</title></head>
<body bgcolor="white">
<center><h1>413 Request Entity Too Large</h1></center>
<hr><center>nginx/1.10.3</center>
</body>
</html>
A:在nigix的配置文件中http{}内添加如下内容:
#设置允许发布内容为8M
client_max_body_size 8M;
client_body_buffer_size 128k;
8.Q:使用layx弹窗时,如果给父页面传递数据
A:请看例子,示例是在layer例子中看到的
父页面的js代码,其中父页面中包含一个名为Icon
的Input
<script type="text/javascript">
$('#IconBtn').on('click',//绑定IconBtn按钮的点击事件,弹出layx窗口
function () {
layx.iframe('icon', '请选择图标', '/Icon/FontAwesomeIcon');//加载一个图标选择页面
return false;//放在提交数据
});
</script>
在FontAwesomeIcon
页面中使用js代码,使用parent
可以获取父页面上的属性值并给它们赋值
$('#IconSaveBtn').on('click',//绑定IconSaveBtn按钮的点击事件,将选择的数据传到到父窗口
function () {
parent.$('#Icon').val($pickIcon.attr('class'));
parent.layx.destroy('icon');
});
在Asp.Net Core MVC 开发过程中遇到的问题总结相关推荐
- 如何在 ASP.NET Core MVC 5 中处理未知的 Action
ASP.NET Core MVC 5 是一个轻量级,开源的,利于单元测试的基于 ASP.NET Core 运行时的 web 框架,在开发时你肯定会遇到不少那些 request 无法匹配 Action ...
- ASP .NET Core MVC 控制器中获取当前登录用户
微软提供了 身份验证:Microsoft.AspNet.Identity 如果想要在控制器中获取当前登录的用户,如下代码: var userId = this.User.FindFirstValue( ...
- 在ASP.NET Core MVC中构建简单 Web Api
Getting Started 在 ASP.NET Core MVC 框架中,ASP.NET 团队为我们提供了一整套的用于构建一个 Web 中的各种部分所需的套件,那么有些时候我们只需要做一个简单的 ...
- ASP.NET Core MVC中的viewmodel
简述: ViewModel是ASP.NET Core MVC应用中的隐式声明的层,用来维护Model和View之间的数据传递,是View的数据容器.Model向视图传递数据最可靠的方法是在视图中指定模 ...
- ASP.NET Core MVC 源码学习:详解 Action 的匹配
前言 在 上一篇 文章中,我们已经学习了 ASP.NET Core MVC 的启动流程,那么 MVC 在启动了之后,当请求到达过来的时候,它是怎么样处理的呢? 又是怎么样把我们的请求准确的传达到我们的 ...
- ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL
ASP.NET CORE MVC 中,默认的 Route 模板是: /{controller}/{action} .我们可以通过开启 URL 小写转换将 URL 变为小写,但此方式在 Control ...
- ASP.NET Core MVC 之区域(Area)
区域(Area)是一个 ASP.NET MVC 功能,用于将相关功能组织为一个单独的命名空间(用于路由)和文件结构(用于视图).使用区域通过向控制器和操作添加 一个路由参数(area)来创建用于路由目 ...
- 使用Vue.js和ASP.NET Core MVC实现CQRS模式
目录 介绍 先决条件 深入了解基本信息 应用解决方案结构 图像上传和显示应用 MVC与JS框架之间的通信设计 在SPA中,在表示层中添加UI和PLL 用于数据读取和写入操作的数据访问层 软件包安装 读 ...
- ASP.NET Core MVC 从入门到精通之初窥门径
随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用 ...
最新文章
- python 引用(import)文件夹下的py文件的方法
- Spring Boot Admin 2.1.4,Spring Boot 应用的 Admin UI
- 软件项目管理0716:责任分工明确
- WHAT IS ERP
- 【poj2114】点分治(离线)
- linux禁止切换到root,linux禁止普通用户切换至root用户的实例讲解
- react如何获取表单数据
- 中文字体其实也可以用在网页上的
- 纵坐标范围_探索频率范围与频响的奥秘
- 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc
- python __globals__, __file__
- 使用WordPress插件Advanced custom fields来扩展文章字段
- 《机器学习算法竞赛实战》学习笔记1.竞赛简介
- DEFS一个前所未有的金融生态!
- dell服务器键盘接口位置,键盘与接口介绍_戴尔笔记本电脑_笔记本评测-中关村在线...
- 【机器学习】PCA主成分项目实战:MNIST手写数据集分类
- 拉格朗日插值法与牛顿插值多项式
- 《机器学习实战》6.支持向量机(SVM)
- Seata-从源码了解它
- HTTP 304状态码讲解