前几天我发现 MVC 虽然解决了webform的问题但是用起来真的很麻烦,不知道是我刚接触的原因还是为什么,感觉有很多的局限性,对于form的提交一个form只能绑定一个action,代码如下:

 @using (Html.BeginForm("Create", "Users", FormMethod.Post, new { id = "SaveUserForm", @class = "form-horizontal" }))

这段代码是一个form绑定的一个 创建用户 的添加方法。但是回想起来,在做系统的时候的有很多的弹出窗体可以 添加和修改功能其实是可以运用一个from就可以解决问题的。这就留下了疑问,如果做新增和修改功能的话,我是创建多个form?

而且一个form表单可能存在很多文本验证,这时候怎么办?例如下面我的添加页面。

代码:

   <!-- 模态框(Modal)添加用户页面 开始 -->
<div class="modal fade" id="SaveUser_Modal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
@*设定窗体宽度,只有在这个 class="modal-dialog" 这个div有效*@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close"
data-dismiss="modal" aria-hidden="true">
&times;
</button>
<h4 class="modal-title" id="myModalLabel">
添加用户
</h4>
</div>
@using (Html.BeginForm("Create", "Users", FormMethod.Post, new { id = "SaveUserForm", @class = "form-horizontal" }))
{
<div class="modal-body">
<div class="form-group">
<label for="LoginName" class="col-sm-2 control-label">账号</label>
<div class="col-md-8">
@Html.TextBox("LoginName", "", new { @class = "form-control", placeholder = "请输入账号" })
</div>
</div>
<div class="form-group">
<label for="LoginPwd" class="col-sm-2 control-label">密码</label>
<div class="col-md-8">
@Html.TextBox("LoginPwd", "", new { @class = "form-control", placeholder = "请输入密码" })
</div>
</div>
<div class="form-group">
<label for="confirmLoginPwd" class="col-sm-2 control-label">确认密码</label>
<div class="col-md-8">
@Html.TextBox("confirmLoginPwd", "", new { @class = "form-control", placeholder = "请输入密码" })
</div>
</div>
<div class="form-group">
<label for="FullName_C" class="col-sm-2 control-label">中文名</label>
<div class="col-md-8">
@Html.TextBox("FullName_C", "", new { @class = "form-control", placeholder = "请输入中文名" })
</div>
</div>
<div class="form-group">
<label for="FullName_E" class="col-sm-2 control-label">英文名</label>
<div class="col-md-8">
@Html.TextBox("FullName_E", "", new { @class = "form-control", placeholder = "请输入英文名" })
</div>
</div>
<div class="form-group">
<label for="CreateTime" class="col-sm-2 control-label">创建时间</label>
<div class="col-md-8">
<div class="input-group date form_date" data-date="" data-date-format="" data-link-field="CreateTime" data-link-format="yyyy-mm-dd">
<input class="form-control" size="10" type="text" value="" readonly>
@*<span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span>*@
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
@Html.Hidden("CreateTime")
</div>
</div>
<div class="form-group">
<label for="Email" class="col-sm-2 control-label">邮箱</label>
<div class="col-md-8">
@Html.TextBox("Email", "", new { @class = "form-control", placeholder = "请输入邮箱" })
</div>
</div>
<div class="form-group">
<label for="QQ" class="col-sm-2 control-label">QQ</label>
<div class="col-md-8">
@Html.TextBox("QQ", "", new { @class = "form-control", placeholder = "请输入QQ" })
</div>
</div>
<div class="form-group">
<label for="Gender" class="col-sm-2 control-label">性别</label>
<div class="col-md-8">
<label class="checkbox-inline">
@Html.RadioButton("Gender", 1, new { @id = "radio1", @name = "Gender" })男
</label>
<label class="checkbox-inline">
@Html.RadioButton("Gender", 0, new { @id = "radio0", @name = "Gender" })女
</label>
</div>
</div>
<div class="form-group">
<label for="Mobile" class="col-sm-2 control-label">手机</label>
<div class="col-md-8">
@Html.TextBox("Mobile", "", new { @class = "form-control", placeholder = "请输入手机" })
</div>
</div>
<div class="form-group">
<label for="Telephone" class="col-sm-2 control-label">联系电话</label>
<div class="col-md-8">
@Html.TextBox("Telephone", "", new { @class = "form-control", placeholder = "请输入联系电话" })
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" id="captchaOperation"></label>
<div class="col-md-8">
<input type="text" class="form-control" name="captcha" placeholder="请输入请输入结果" />
</div>
</div>
<input type="hidden" id="UserId" value="" />
@Html.Hidden("CreateTime")
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">
关闭
</button>
<button type="button" class="btn btn-info" id="validateBtn">重新验证</button>
<button type="button" class="btn btn-info" id="resetBtn">重置</button>
<button type="submit" class="btn btn-primary">
提交更改
</button>
</div>
}
</div><!-- /.modal-content -->
</div>
</div>
<!-- 模态框(Modal)添加用户页面 结束 -->

2016 系统设计第一期 (档案一)MVC form数据提交的更多相关文章

  1. 2016 系统设计第一期 (档案一)MVC bootstrap model弹出子页面

    通过bootstrap  弹出modal-dialog 子页面 ,例如我要弹出子页面:areaitem_sub_One.html. 具体步骤如下: 第一步:新建 areaitem_sub_One.ht ...

  2. 2016 系统设计第一期 (档案一)MVC 相关控件整理

    说明:前者是MVC,后者是boostrap 1.form 表单 @using (Html.BeginForm("Create", "User", FormMet ...

  3. 2016 系统设计第一期 (档案一)MVC 和 Bootstrap 表单转换

    bootstrap <form role="form"> <div class="form-group"> <label for= ...

  4. 2016 系统设计第一期 (档案一)MVC 控制器接收表单数据

    1.FormCollection collection   user.UserId =Convert.ToInt32(collection["UserId"]); /// < ...

  5. 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

    jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...

  6. 2016 系统设计第一期 (档案一)MVC a标签 跳转 Html.ActionLink的用法

    html: <a class="J_menuItem" href="baidu.com">权限管理</a> cshtml: 原有样式: ...

  7. 2016 系统设计第一期 (档案一)MVC bootstrap model弹出窗

    局部代码: <!-- 按钮触发模态框 --> <div style=""> <button class="btn btn-primary&q ...

  8. 2016 系统设计第一期 (档案一)MVC ajax 获取json数据

    我在做一张表的增删改查的时候,在编辑的时候,需要获取当前选择行对应的Id,然后并且把选择行的Id的对于的数据取出来,代码如下: 列表a标签绑定: Js代码: url: '/Users/GetUserB ...

  9. 2016 系统设计第一期 (档案一)MVC 引用 js css

    @Styles.Render("~/Bootstrap/css/bootstrap-theme.css") @Scripts.Render("~/jQuery/jquer ...

随机推荐

  1. HDU 2181 哈密顿绕行世界问题 (DFS)

    哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 关于Java多态的总结.

    [圣思源笔记]JAVA SE Lesson 11. 类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成对象(Object).对象又叫做实例(Instance).2. ...

  3. Jquery 全选、反选问题解析

    最近工作中,需要使用Jquery实现复选框的全选和反选,本人虽然不是专职撸前端的,但这个小问题感觉也没什么难度,下面直接上代码: <div id="list"> < ...

  4. Git CMD - reset: Reset current HEAD to the specified state

    命令格式 git reset [-q] [<tree-ish>] [--] <paths>…​ git reset (--patch | -p) [<tree-ish&g ...

  5. WP8.1 RSA 加解密实例(导入公钥私钥)

    因项目上需要用到,之前在WP8.0的环境上调试通过,现在在开发8.1时发现已不支持原来的加密库,所以无法使用以前的方法,不得已,去寻找windows命名空间下RSA的加解密方法,经过几天的尝试,将解决 ...

  6. Java垃圾回收介绍(译)

    在Java中,对象内存空间的分配与回收是由JVM中的垃圾回收进程自动完成的.与C语言不同的是,在Java中开发者不需要专门为垃圾回收写代码.这是使Java流行的众多特征之一,也帮助了程序员写出了更好的 ...

  7. 创建Mysql 序列

    create table sequence( name ) not null primary key, current_value , increment , max_value BIGINT, -- ...

  8. presentViewController: 如何不覆盖原先的 viewController界面

    PresentViewController 如何不遮挡住原来的viewController界面呢? 可能有时候会遇到这种需求,需要弹出一个功能比较独立的视图实现一些功能,但是却不想单纯添加一个View ...

  9. 实现C#给系统其他窗口输入的思路

    将窗口实现浮动,从而不获取焦点 使用系统API获取窗口的句柄 根据数据库或者xml文件等动态添加 使用系统API发送文本到达指定窗口输入框

  10. javascript笔记——jqGrid再次封装

    xingrunzhao js插件再次封装 demo 'use strict'; /** * commerce grid框架 * 依赖jqgrid */ (function ($_self, jQuer ...