我正在使用mvc3在.net 4.0中设计一个项目。我使用两个属性name
和fname
(父名)。
我的控制器类:
loginController.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcMovie.Models;
namespace MvcMovie.Controllers
{
public class loginController : Controller
{
private logindata db = new logindata();
//
// GET: /login/
public ViewResult Index()
{
return View(db.loginobj.ToList());
}
//
// GET: /login/Details/5
public ViewResult Details(int id)
{
// login login = db.loginobj.Find(id);
login login = db.loginobj.Find(2) ;
return View(login);
}
//
// GET: /login/Create
public ActionResult Create()
{
return View();
}
//
// POST: /login/Create
[HttpPost]
public ActionResult Create(login login)
{
if (ModelState.IsValid)
{
db.loginobj.Add(login);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(login);
}
//
// GET: /login/Edit/5
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
模型类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
login.cs
namespace MvcMovie.Models
{
public class login
{
public int ID { get; set; }
public string name{get; set;}
public string fname { get; set; }
}
public class logindata : DbContext
{
public DbSet<login> loginobj { get; set; }
}
}
view.cshtml
@model IEnumerable<MvcMovie.Models.login>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
name
</th>
<th>
fname
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.name)
</td>
<td>
@Html.DisplayFor(modelItem => item.fname)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
我想问一下,由我创建的数据存储在哪里?意味着我怎样才能看到由我完成的条目表?
每当我点击.sdf文件然后出现问题,如下图所示,我该怎么做才能解决这个问题。我应该安装什么东西。我安装了visual studio 2010和sql server 2008。
答案 0 :(得分:4)
您可能正在使用Microsoft SQL CE来存储应用程序数据。如果是这种情况,请查看解决方案资源管理器中的App_Data文件夹。你应该看到一个扩展名为.sdf的文件。只需确保在解决方案资源管理器中选择显示所有文件图标。更多详情here。
答案 1 :(得分:1)
您需要安装Visual Studio SP1,因为您运行的教程认为您使用的是Visual Studio Express。
你可以在这里得到它:
http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=VS2010SP1Pack
答案 2 :(得分:0)
看起来像是通过
完成的私有logindata db = new logindata();
你有详细的那部分吗?
答案 3 :(得分:0)
该logindata DBContext看起来像是由Entity Framework创建的。这指向某个地方的数据库,而该数据库是您查找数据的地方。您可以在web.config中查找具有数据库信息的连接字符串,或者如果您的项目中有一个.edmx文件,请打开它并查看其指向的内容。