作者的话
这个确实花了很多心血
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写
目前持续还在更新
效果展示
核心代码
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using YiCraft.Models;
namespace YiCraft.Controllers
{
public class yicraft_infosController : Controller
{
private YiCraftCoreEntities2 db = new YiCraftCoreEntities2();
// GET: yicraft_infos
public ActionResult Index()
{
return View(db.yicraft_infos.ToList());
}
// GET: yicraft_infos/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
yicraft_infos yicraft_infos = db.yicraft_infos.Find(id);
if (yicraft_infos == null)
{
return HttpNotFound();
}
return View(yicraft_infos);
}
// GET: yicraft_infos/Create
public ActionResult Create()
{
return View();
}
// POST: yicraft_infos/Create
// 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关
// 详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=317598。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,loginname,balance,status")] yicraft_infos yicraft_infos)
{
if (ModelState.IsValid)
{
db.yicraft_infos.Add(yicraft_infos);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(yicraft_infos);
}
// GET: yicraft_infos/Edit/5
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
yicraft_infos yicraft_infos = db.yicraft_infos.Find(id);
if (yicraft_infos == null)
{
return HttpNotFound();
}
return View(yicraft_infos);
}
// POST: yicraft_infos/Edit/5
// 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关
// 详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=317598。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "ID,loginname,balance,status")] yicraft_infos yicraft_infos)
{
if (ModelState.IsValid)
{
db.Entry(yicraft_infos).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(yicraft_infos);
}
// GET: yicraft_infos/Delete/5
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
yicraft_infos yicraft_infos = db.yicraft_infos.Find(id);
if (yicraft_infos == null)
{
return HttpNotFound();
}
return View(yicraft_infos);
}
// POST: yicraft_infos/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
yicraft_infos yicraft_infos = db.yicraft_infos.Find(id);
db.yicraft_infos.Remove(yicraft_infos);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using YiCraft.Models;
namespace YiCraft.Controllers
{
public class reply_infosController : Controller
{
private YiCraftCoreEntities2 db = new YiCraftCoreEntities2();
// GET: reply_infos
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index([Bind(Include = "reply")] reply_infos reply_Infos)
{
if (ModelState.IsValid && reply_Infos.reply != null)
{
reply_Infos.theme_id = Convert.ToInt32(Session["did"]);
reply_Infos.ReplyAuthor = Session["uid"].ToString();
reply_Infos.ReplyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
db.reply_infos.Add(reply_Infos);
db.SaveChanges();
if (Session["uid"].ToString() == "FYZY" && reply_Infos.reply.Contains("已解决"))
{
var pm = from u in db.discuss_infos
where u.id ==reply_Infos.theme_id
select u;
discuss_infos di = new discuss_infos();
foreach (var k in pm)
{
di = (discuss_infos)k;
}
di.solve = "已解决";
db.Entry(di).State= EntityState.Modified;
db.Entry(di).Property(u => u.id).IsModified = true;
db.SaveChanges();
}
return RedirectToAction("Index", "discuss_infos", "创建成功");
}
return RedirectToAction("Index", "discuss_infos", "创建失败");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using YiCraft.Models;
namespace YiCraft.Controllers
{
public class LoginController : Controller
{
// GET: Login
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Login_end(string name, string pwd)
{
YiCraftCoreEntities2 yc = new YiCraftCoreEntities2();
player_infos p = yc.player_infos.SingleOrDefault<player_infos>(n => n.uid == name);
if (p == null)
{
//return RedirectToAction("Index", "Login", "用户不存在!");
return Content("<script>alert('用户不存在!');window.location.href='../Login/index';</script>");
}
else if (p.pwd == pwd)
{
Session["uid"] = name;
return RedirectToAction("Index", "discuss_infos","登入成功!");
}
else
{
return Content("<script>alert('密码错误!');window.location.href='../Login/index';</script>");
}
}
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using YiCraft.Models;
namespace YiCraft.Controllers
{
public class discuss_infosController : Controller
{
private YiCraftCoreEntities2 db = new YiCraftCoreEntities2();
// GET: discuss_infos
public ActionResult Index()
{
return View(db.discuss_infos.ToList());
}
// GET: discuss_infos/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
discuss_infos discuss_infos = db.discuss_infos.Find(id);
if (discuss_infos == null)
{
return HttpNotFound();
}
return View(discuss_infos);
}
// GET: discuss_infos/Create
public ActionResult Create()
{
return View();
}
// POST: discuss_infos/Create
// 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关
// 详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=317598。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "id,theme,AllContent,time,author")] discuss_infos discuss_infos)
{
if (ModelState.IsValid&&discuss_infos!=null&&discuss_infos.theme!=null)
{
discuss_infos.author = Session["uid"].ToString();
discuss_infos.time= DateTime.Now.ToString("yyyy-MM-dd HH:mm");
discuss_infos.solve = "未解决";
db.discuss_infos.Add(discuss_infos);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(discuss_infos);
}
// GET: discuss_infos/Edit/5
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
discuss_infos discuss_infos = db.discuss_infos.Find(id);
if (discuss_infos == null)
{
return HttpNotFound();
}
return View(discuss_infos);
}
// POST: discuss_infos/Edit/5
// 为了防止“过多发布”攻击,请启用要绑定到的特定属性,有关
// 详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=317598。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "id,theme,AllContent,time,author")] discuss_infos discuss_infos)
{
if (ModelState.IsValid)
{
db.Entry(discuss_infos).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(discuss_infos);
}
// GET: discuss_infos/Delete/5
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
discuss_infos discuss_infos = db.discuss_infos.Find(id);
if (discuss_infos == null)
{
return HttpNotFound();
}
return View(discuss_infos);
}
// POST: discuss_infos/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
discuss_infos discuss_infos = db.discuss_infos.Find(id);
db.discuss_infos.Remove(discuss_infos);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}
上传至:
github