如何通过MVC向数据库中添加数据?用 的是。net、C#、linq to sql 类,在线等!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过MVC向数据库中添加数据?用 的是。net、C#、linq to sql 类,在线等!!!相关的知识,希望对你有一定的参考价值。

上学期教同学时写了一个绝对适合入门的小例子 用的是asp.net mvc3+linq to entity
linq to entity和linq to sql在使用上本身差距不大 你肯定能看懂的
*razor页面中用的是弱类型的helper

还有疑问可以去此论坛.net区提问:
http://bbs.ctrlc.com.cn/

欢迎交流

原文地址:http://user.qzone.qq.com/523080653/blog/1300030445
--------------------------------------------------------------------------------------------------------------
今天给同学演示用的demo 无美工无分层无XXXXXX 三无产品 绝对适合入门...

就一张表 UserInfoUserID,UserName,UserPassword
逻辑写controller里了 model里就一个实体 就不列出来了

HomeController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TestDemo.Models;
using System.Data.Objects;

namespace TestDemo.Controllers

public class HomeController : Controller

//
// GET: /Home/

public ActionResult Index()

TestEntities te = new TestEntities();
ObjectQuery<UserInfo> userInfos = te.UserInfoes;

var users = from u in userInfos
select u;

ViewData.Model = users.ToList();

return View();


public ActionResult Delete(int id)

TestEntities te = new TestEntities();
ObjectQuery<UserInfo> userInfos = te.UserInfoes;

var query = userInfos.Single(u => u.UserID == id);

te.DeleteObject(query);

te.SaveChanges();

return RedirectToAction("Index");


public ActionResult Add()

return View();


[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(FormCollection form)

TestEntities te = new TestEntities();

UserInfo addUser = new UserInfo()

UserName = form["userName"].ToString(),
UserPassword = form["userPassword"].ToString()
;

te.UserInfoes.AddObject(addUser);

te.SaveChanges();

return RedirectToAction("Index");


public ActionResult Edit(int id)

TestEntities te = new TestEntities();
ObjectQuery<UserInfo> userInfos = te.UserInfoes;

UserInfo user = userInfos.Single(u => u.UserID == id);

ViewData.Model = user;

return View();


[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(FormCollection form)

TestEntities te = new TestEntities();
ObjectQuery<UserInfo> userInfos = te.UserInfoes;

int id = Int32.Parse( form["userID"].ToString());

var query = from u in userInfos
where u.UserID == id
select u;

UserInfo editUser = query.First();

UserInfo user = new UserInfo()

UserID=id,
UserName = form["userName"].ToString(),
UserPassword = form["userPassword"].ToString()
;

editUser.UserName = user.UserName;
editUser.UserPassword = user.UserPassword;

te.SaveChanges();

return RedirectToAction("Index");






Add.cshtml

@
ViewBag.Title = "Add";


<h2>Add</h2>
@using (Html.BeginForm())


@Html.Label("姓名")
@Html.TextBox("userName")

<hr />
@Html.Label("密码")
@Html.TextBox("userPassword")
<input type="submit" value="提交"/>



Edit.cshtml

@using TestDemo.Models
@
ViewBag.Title = "Edit";

<h2>
Edit</h2>
@using (Html.BeginForm())

UserInfo query = ViewData.Model;

@Html.Label("ID", query.UserID.ToString());
<br />
@Html.Label("姓名");
@Html.TextBox("userName");<br />
@Html.Label("密码");
@Html.TextBox("userPassword");<br />
@Html.Hidden("userID", query.UserID);
<input type="submit" value="提交" />



Index.cshtml

@using TestDemo.Models;
@
ViewBag.Title = "Index";

<!DocType html />
<html>
<head>
<title></title>
<link href="@Url.Content("../Content/Test.css")" type="text/css" rel="Stylesheet" />
</head>
<body>
<div class="all" >
<div class="top">
</div>
<div class="content">
@
List<UserInfo> users = ViewData.Model;

@Html.ActionLink("添加", "Add")
<table id="qzw">
@foreach (UserInfo user in users)

<tr>
<td>@user.UserID
</td>
<td>@user.UserName
</td>
<td>@user.UserPassword
</td>
<td>@Html.ActionLink("删除", "Delete", new id = user.UserID )
</td>
<td>@Html.ActionLink("修改", "Edit", new id = user.UserID )
</td>
</tr>

</table>

</div>
</div>
</body>
</html>
参考技术A ASP.NET MVC3.0是一个页面展示层的框架,将我们平日理解的三层架构(页面展示层,业务逻辑层,数据访问层)的页面展示层,再分为mvc三层。其中的m表示业务模型,v标识展示的html,c是页面展示的控制器,负责页面逻辑哦。 参考技术B 现在最佳的选择还是实体框架也就是Linq to Entity ........
参考技术C 写 链接数据库的 字符串 了~~

ASP.Net MVC 缓存数据,以及缓存数据使用问题

背景:目前正在做的是一个MVC框架的监控系统,前端每隔一定时间向数据库获取最新数据,并在前端绘制实时变化的曲线。
问题:前端展示页面打开后,开始不停获取数据,并将数据存储到JS定义的一个数组中,利用数组数据,绘制曲线。可当该页面关闭并且重新打开后,由于数组重新初始化,前段时间获取的数据便清空了。
所以,如何将数据缓存起来。以便页面重新打开后,还可以利用。

很简单的,以前的数据都在数据库里了,你只要把页面初始化的时候生成好这部分Json数据就行了。
根本用不到所谓的缓存。
你的曲线变化肯定是ajax写的,然后曲线是根据json数据来画的,
参考技术A

    存到缓存里面

追问

由于是新手,怎么缓存?是用什么方法?有什么参考资料。。

以上是关于如何通过MVC向数据库中添加数据?用 的是。net、C#、linq to sql 类,在线等!!!的主要内容,如果未能解决你的问题,请参考以下文章

对ASP.NET MVC的角色(外部数据库)进行硬编码并添加Windows Authenticated Users

如何在 ASP.NET Core MVC 中使用 ADO.NET 向存储过程添加参数?

如何向数据模型文件创建的 NSManagedObject 子类添加属性?

如何从 ASP.NET 核心 mvc 向 asp.net 核心中的 Web API 发出 PUT 请求?

ASP.Net MVC 缓存数据,以及缓存数据使用问题

如何在 C# 页面 ASP.NET Core MVC 上使用 SignInManager 和 Usermanager