MVC数据修改

1、视图(显示)界面代码:

@{
    Layout = null;
}
@using Mvc1.Models;

<!DOCTYPE html>

@{
    if(Session["user"]==null)
    {
        Response.Redirect("Login");
    }

    }

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        <table style="background-color: navy; text-align: center; width: 100%;">
            <tr style="color: white;">
                <td>用户名</td>
                <td>密码</td>
                <td>昵称</td>
                <td>性别</td>
                <td>生日</td>
                <td>民族</td>
                <td>操作</td>
            </tr>

            @{
                //先将数据取出来
                List<Users> list = new UsersData().Select();

                foreach (Users u in list)
                {
                <tr style="background-color: #e0e0e0;">
                    <td>@u.UserName</td>
                    <td>@u.PassWord</td>
                    <td>@u.NickName</td>
                    <td>@((bool)u.Sex ? "男" : "女")</td>
                    <td>@Convert.ToDateTime(u.Birthday).ToString("yyyy年MM月dd日")</td>
                    <td>@u.NationName</td>
                    <td>
                        <a href="Home/Update/@u.UserName">修改</a>
                    </td>
                </tr>
                }
            }
        </table>
    </div>
</body>
</html>

2、视图(修改)界面代码:

@{
    Layout = null;
}
@using Mvc1.Models;
@model Users

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Update</title>
</head>
<body>
    <form name="form1" method="post" action="~/Home/UUU">
        用户名:<input type="text" name="username" value="@Model.UserName" /><br />
        密码:<input type="text" name="password" value="@Model.PassWord" /><br />
        昵称:<input type="text" name="nickname" value="@Model.NickName" /><br />
        性别:
                @{
                    if ((bool)Model.Sex)
                    {
                    <input type="radio" name="sex" checked="checked" value="True" />@:男
                    <input type="radio" name="sex" value="False" />@:女
                    }
                    else
                    {
                    <input type="radio" name="sex" value="True" />@:男
                    <input type="radio" name="sex" checked="checked" value="False" />@:女
                    }
                }
        <br />
        生日:
        <select id="year" onchange="DateChange()">
            @{
                for (int i = DateTime.Now.Year; i > 1900; i--)
                {
                    if (Convert.ToDateTime(Model.Birthday).Year == i)
                    {
                <option selected="selected">@i</option>
                    }
                    else
                    {
                <option>@i</option>
                    }
                }
            }
        </select>年

        <select id="month" onchange="DateChange()">
            @{
                for (int i = 1; i <= 12; i++)
                {
                    if (Convert.ToDateTime(Model.Birthday).Month == i)
                    {
                <option selected="selected">@i</option>
                    }
                    else
                    {
                <option>@i</option>
                    }
                }
            }
        </select>月

        <select id="day" onchange="DateChange()">
            @{
                for (int i = 1; i <= 31; i++)
                {
                    if (Convert.ToDateTime(Model.Birthday).Day == i)
                    {
                <option selected="selected">@i</option>
                    }
                    else
                    {
                <option>@i</option>
                    }
                }
            }
        </select>日

        <input type="text" id="birthday" name="birthday" style="display:none;" value="@Model.Birthday" />

        <br />
        民族:
        <select name="nation">
            @{
                List<Nation> Nlist = new NationData().Select();

                foreach (var n in Nlist)
                {
                    if (Model.Nation == n.NationCode)
                    {
                <option value="@n.NationCode" selected="selected">@n.NationName</option>
                    }
                    else
                    {
                <option value="@n.NationCode">@n.NationName</option>
                    }
                }
            }
        </select>

        <br />
        <input type="button" value="提交" onclick="form1.submit()" />
    </form>
</body>
</html>
<script type="text/javascript">
    function DateChange() {
        var year = document.getElementById(‘year‘).value;
        var month = document.getElementById(‘month‘).value;
        var day = document.getElementById(‘day‘).value;
        document.getElementById(‘birthday‘).value = year + "-" + month + "-" + day;
    }
</script>

3、控制层控制器代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Mvc1.Models;

namespace Mvc1.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Update(string id)
        {
            Users u = new UsersData().Select(id);

            return View(u);
        }

        public ActionResult UUU(Users data)
        {
            new UsersData().Update(data);

            return RedirectToAction("Index", "Home");
        }
    }
}

4、模型层代码:

民族表查询

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Mvc1.Models
{
    public class NationData
    {
        Data0425DataContext con = new Data0425DataContext();
        public List<Nation> Select()
        {
            return con.Nation.ToList();

        }

    }
}

民族字段扩展

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Mvc1.Models
{
    public partial class Users
    {
        Data0425DataContext con = new Data0425DataContext();

        public string NationName
        {
            get {
                return con.Nation.Where(r => r.NationCode == this.Nation).FirstOrDefault().NationName;
            }
        }

    }
}

数据操作方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Mvc1.Models
{
    public class UsersData
    {
        Data0425DataContext con = new Data0425DataContext();

        public List<Users> Select()
        {
            return con.Users.ToList();
        }

        public Users Select(string uname)
        {
            return con.Users.Where(r => r.UserName == uname).FirstOrDefault();
        }

        public void Update(Users uuu)
        {
            Users u = con.Users.Where(r => r.UserName == uuu.UserName).FirstOrDefault();

            u.PassWord = uuu.PassWord;
            u.NickName = uuu.NickName;
            u.Sex = uuu.Sex;
            u.Birthday = uuu.Birthday;
            u.Nation = uuu.Nation;

            con.SubmitChanges();
        }
    }
}
时间: 2024-10-29 07:51:14

MVC数据修改的相关文章

详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发

MVC 数据验证【转】

[转自]http://www.cnblogs.com/dozer/archive/2010/04/12/MVC-DataAnnotations.html 作者Dozer 今天在这里给大家介绍一下MVC的数据验证框架. 在1.0版中,很多朋友提出了怎么使用客户端验证,今天找了一些资料,发现了客户端验证的方法. 1.MVC中的数据验证框架有何优点? 在Asp.net时代,或者没有使用MVC的验证框架,一般是在BLL层中进行数据验证,但是BLL层的返回值又只能返回一个东西,比如一个字符串,而实际情况中

单据数据修改历史记录!

0.可记录历史数据的表单设计 http://blog.csdn.net/snleo/article/details/1876784 1.常见数据库设计(3)——历史数据问题之多记录变更 http://www.cnblogs.com/dataadapter/archive/2012/08/28/2660103.html 2.常见数据库设计(2)——历史数据问题之单记录变更 http://www.cnblogs.com/dataadapter/archive/2012/06/05/2535529.h

MVC 数据验证

前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解.System.ComponentModel.DataAnnotations 一.基础特性 一.Required 必填选项,当提交的表单缺少该值就引发验证错误. 二.StringLength 指定允许的长度 指定最大长度: [StringLength(20)] //最大长度不超过20个字符 指定最短于最长限制: [StringLength(20,MinimumLength=3)] //最大长度不超过20个字符,最短不能低于3个字符

nodejs 通过 get获取数据修改redis数据

如下代码是没有报错的正确代码 我通过https获取到数据 想用redis set一个键值存储 现在我掉入了回调陷阱res.on 里面接收到的数据是data 里面如果放入 client.on('connect',functi ...这个修改函数就会报错. 'use strict'; var redis = require('redis'), RDS_PORT = 6379, //端口号 RDS_HOST = '127.0.0.1', //服务器IP //RDS_PWD = 'porschev',

MVC数据校验

MVC数据校验 1.前端: 方案一: js校验,非本章重点:就不提了. 方案二: jquery.validate.js 重点 实例: 2.后端: 方案一: 特性法 实例: 方案二: ModelState 实例:

10第十章数据修改高级用法(转载)

10第十章数据修改高级用法 MERGE OUPUT $action AS action  (由这个动作来判断是inserted 还是 deleted) WHEN MATCHED AND (源.列 <> 目.列) 才更新 WHEN NOT MATCHED BY SOURCE THEN DELETE (慎用) WHEN NOT MATCHED THEN INSERT VALUES 在 2008 之前 插入多条 需要写多个insert values 08 之后可以下载一起 @rowcount = @

SQL语句汇总(二)——数据修改、数据查询

首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)  如: INSERT INTO t_student (student_id,student_name,student_age,student_sex) VALUES (1,'大毛',18,'男'); 其中列名可以省略,省略之后要求插入的值必须与列一一对应: INSERT INTO t_student VALUE

MongoDB数据修改总结

MongoDB数据修改总结 2013-10-26 10:08:30      我来说两句    来源:huhui的专栏    收藏  我要投稿 MongoDB数据修改总结 1.前言 最近在学习MongoDB,数据修改这一部分的内容较多,命令比较繁琐,所以将一些常用的修改命令总结在这篇博客中,方便今后学习的查阅. 2.命令总结 1). insert() db.collection.insert(x)  x就是要更新的对象,只能是单条记录,如: [plain] db.collection.inser