@using Kendo.Mvc.UI
@using StudentManage.Common.Helper
@model StudentManage.Models.Home.ImportDataFromFileModel
<style>
.hiddenBox {
display: block;
border: none;
width: 0;
height: 0
}
</style>
<script>
var fileName;
function onSelect(e) {
fileName = $("#FileName").val() + getFileInfo(e);
$("#FileName").val(fileName);
}
function onRemove(e) {
fileName = $("#FileName").val().replace(getFileInfo(e), "");
$("#FileName").val(fileName);
} function getFileInfo(e) {
return $.map(e.files, function (file) {
var info = file.name;
return info;
}).join(", ");
}
</script>
<form action="@Url.Action("ImportDataFromFile", "Home")" id="importForm" method="post" class="panel panel-default form-horizontal panel-body">
<div class="form-group">
@Html.RequiredIndicatorLabelFor(m=> m.FileName, new { @class = "col-sm-3 control-label no-padding-right" })
<div class="col-sm-4">
@Html.HiddenFor(m => m.DataSystemName, new { @class = "form-control" })
@(Html.Kendo().Upload().Name("files").Multiple(false).HtmlAttributes(new { accept = ".xls,.xlsx" })
.Events(events => events
.Remove("onRemove")
.Select("onSelect")
))
@Html.TextBoxFor(m => m.FileName, new { @class = "hiddenBox" })
@Html.ValidationMessageFor(m => m.FileName)
</div>
</div>
<div class="form-group">
<div class="col-sm-5 col-sm-offset-3">
<button class="btn btn-info" type="button" id="submitBtn">
确定
</button>
</div>
</div>
</form>
<script>
$(function () {
jQuery.validator.unobtrusive.parse();
$('#importForm').removeData('validator');
$('#importForm').removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse('#importForm');
$("#submitBtn").click(function() {
if (!$("#importForm").valid()){
return false;
}
$("#importForm").submit();
return true;
});
});
</script>

 

Action

        #region 导入导出数据
[HttpGet]
public ActionResult ImportDataFromFile(string dataSystemName)
{
ImportDataFromFileModel model = new ImportDataFromFileModel()
{
DataSystemName = dataSystemName
};
return PartialView(model);
} [HttpPost]
public async Task<ActionResult> ImportDataFromFile(IEnumerable<HttpPostedFileBase> files)
{
//DataTable dataTable = await NpoiHelper.ExcelToDataTable("Sheet1", true, files.First());
//for (int i = 0; i < dataTable.Rows.Count; i++)
//{ // //var enterprise = new Enterprise();
// //enterprise.Id = Guid.NewGuid();
// //if (dataTable.Rows[i][enterpriseNameColumn] != null)
// //{
// // var content = dataTable.Rows[i][enterpriseNameColumn]?.ToString().Trim();
// // var clearName = content.Length < 100 ? content : content.Substring(0, 100);
// // if (enterpriseNames.Contains(clearName)) continue;
// // enterprise.EnterpriseName = clearName;
// //}
//}
return RedirectToAction("Index","StudentManage");
} #endregion

kendo upload必填验证的更多相关文章

  1. RequiredFieldValidator控件--必填验证控件

    RequiredFieldValidator控件: ·RequiredFieldValidator控件也被称之为必填验证控件,顾名思义,也就是与RequiredFieldValidator控件关联的控 ...

  2. WPF验证之——必填验证

    要事先必填验证,首先要重写ValidationRule类的Validate方法,然后在Binding中指定对应的ValidationRule. 第一步:重写ValidationRule的Validat ...

  3. js页面字段的必填验证方法

    https://blog.csdn.net/fn_2015/article/details/73498462 <script type="text/javascript" s ...

  4. ASP.NET中Textbox后的必填验证控件RequiredFieldValidator的使用方法。

    制作效果如下: 实现方法: 1. 拖动RequiredFieldValidator控件到相应的textbox后位置,点击属性面板,输入ErroMessage相应信息,更改ForeColor为红色 设置 ...

  5. Layui 必填验证

    lay-verify="required"

  6. Element 中表单非必填数据项 必须为数字的验证问题

    Element-ui 的el-form组建中,自带基本的验证功能,比如某些项必填的验证,直接加入rules 规则中即可,如下实例: 在页面中书写如下: <el-form-item label=& ...

  7. PHP 表单验证 - 必填字段

    -------------------------------------------------------------------------- 本节展示如何制作必填输入字段,并创建需要时所用的错 ...

  8. easyui-combogrid必填为空时无法通过表单验证的问题

    在使用easyui-combogrid时,由于html解析出的格式是如下三层: <td> <input id="txcombo" class="easy ...

  9. 验证页面多个input文本的必填项

    前台页面 JS : function CheckMustWrite(){ var count = $("input[mustwrite = 'true']", document.f ...

随机推荐

  1. Jboss getshell

     Jboss 的安装需要 JDK 环境 JDK+JBOSS 包  初始环境配置 系统变量名        变量值 PATH                  %JAVA_HOME%\bin:%JAVA ...

  2. Java-正则使用

    Java-正则使用 注意 在Java中由于string的设计,导致斜杠是特殊的字符,所以如若想要在正则中使用斜杠,则需要两个斜杠来表示 eg: \d 需要写成: \\d ,两外 \\\\ 表示匹配单个 ...

  3. C#中new的三种用法

    在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数. 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员. 3)new ...

  4. java自动化-junit框架简述

    本人使用的是java的junit框架来组织的自动化测试,故我这边需要简单介绍一下junit框架 首先,建议自行百度一下junit框架,先有一个大概的了解 所谓的接口自动化测试,会对多个接口中每一个接口 ...

  5. Hadoop伪分布式的搭建

    主要分为三个步骤:1.安装vmware虚拟机运行软件  2.在vmware虚拟机中安装linux操作系统   3.配置hadoop伪分布式环境 Hadoop环境部署-JDK部分------------ ...

  6. 使用mybatis assembly插件打成tar包,在linux系统中运行服务

    使用mybatis assembly插件打成tar包,在linux系统中运行服务 assembly插件插件地址: 链接:https://pan.baidu.com/s/1i6bWPxF 密码:gad5 ...

  7. [CF566A]Matching Names

    [CF566A]Matching Names 题目大意: A组和B组各\(n(n\le10^5)\)个字符串\((\sum|S|\le8\times10^5)\),将它们两两匹配,使得每组两个字符串的 ...

  8. 转摘: MySQL详解--锁

    原文 http://blog.csdn.net/xifeijian/article/details/20313977 InnoDB锁问题 InnoDB与MyISAM的最大不同有两点:一是支持事务(TR ...

  9. bootstrap_开始

    bootstrap 一个移动设备优先 UI 库,底层是用 less 写的,依赖于 jQuery. 面试点: bootstrap 的所有盒子都是怪异盒子模型(box-sizing: border-box ...

  10. F#周报2019年第14期

    新闻 发布F# 4.6 SAFE Stack v1.0 发布fable编译器2.2,Fable.Core 3及其它 发布ML.NET 1.0 RC Saturn:增加路由诊断页面 Visual Stu ...