目次
前提
MVCを勉強したことがある人なら理解できると思いますが、追加、削除、変更、確認を行うだけの簡単なプロジェクトです。
このコンピューターには SqlServer データベースがないため、エンティティ データ モデルを追加する形式ではなく、接続文字列の形式で実行され、MySQL データベースへの接続に使用されます。
MYSQLデータベースへの接続を実装します。
まず MySQL-Connector-Net をインストールします。
mysql-connector-net-6.10.9.msiをダウンロードしてインストールしました
データベースとテーブル
データベース Product 内の商品テーブルを追加、削除、変更、およびクエリします。
データベース名: 製品 | ||||
---|---|---|---|---|
テーブル名:商品 | ||||
フィールド名 | データの種類 | 長さ | 小数点 | 述べる |
グッドID | 整数 | item_id (主キー、増分 1) | ||
いい名前 | 可変長文字 | 255 | 製品名 (null は不可) | |
良い価格 | 10進数 | 20 | 2 | 製品価格 (null は不可) |
良い株式 | 整数 | 製品在庫 (null は不可) | ||
説明 | 可変長文字 | 255 | 商品の説明 (null は不可) |
完全な表示
ホームページ: インデックス
商品ページの追加:追加
製品ページの変更: 編集
削除: 削除
次にコード表示を入力します。
コード
No.1 - MySQL データベースを構成する
次に、プロジェクトに 2 つの NuGet パッケージをインストールします。
プロジェクト名を右クリックし、「NuGet の管理」パッケージを選択します。
Mysql.DataとMysql.Data.EntityFrameworkをダウンロードします。
次に、必要なクラスをモデルに追加します。
対応するデータをデータベースに追加します。
モデル クラスの名前はテーブルの名前と同じである必要があることに注意してください。
Web.config に構成を追加します。対応するサーバー アドレス、ユーザー名、パスワード、データベース、その他の情報を正しく構成することを忘れないでください。
サーバー、ユーザー ID、パスワード、データベースのこれらのフィールドを必ず変更してください。(残りは変更する必要はありません)
<connectionStrings>
<add name="DefaultConnection" connectionString="server=10.1.240.34;user id=jiaokun;password=123456;persist security info=True;database=product;charset=utf8;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
次に、クラス MyContext を追加します (私は App_Start フォルダーに追加しました)。
using MySql.Data.EntityFramework;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using product_goods.Models;
namespace product_goods.App_Start
{
[DbConfigurationType(typeof(MySqlEFConfiguration))]
public class MyContext : DbContext
{
public DbSet<goods> g { get; set; }
public MyContext() : base("DefaultConnection")
{
Database.CreateIfNotExists();
}
}
}
対応する名前空間の参照や変更が必要な箇所は自分で変更してください。
最初のステップは完了し、次のステップは追加、削除、変更、確認です。
No.2-初期化データ
ホームページとコントローラの設定。
コントローラー名: ProductController
ホームページ: インデックス
データコードを初期化します。(コントローラーコード)
public MyContext db = new MyContext();
// 初始化数据
public ActionResult Index()
{
var list = db.g.ToList();
return View(list);
}
どのような名前空間が必要かは、自分で参照してください。
インデックスビューのコード。
@using product_goods.Models;
@{
ViewBag.Title = "商品管理";
Layout = null;
}
<style>
table th {
text-align: center;
}
</style>
<h2 style="text-align:center;">商品管理</h2>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<a href="/product/Add" style="text-decoration:none;color:black;font-size:15px;">添加商品</a>
<table class="table table-bordered text-center table-hover">
<tr>
<th>商品编号</th>
<th>商品名称</th>
<th>商品价格</th>
<th>商品数量</th>
<th>商品描述</th>
<th>操作</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.goodid</td>
<td>@item.goodname</td>
<td>@item.goodprice</td>
<td>@item.goodstock</td>
<td>@item.desription</td>
<td>
<a href="/product/[email protected]" class="btn btn-danger" onclick="return confirm('确认删除商品名为@(item.goodname)的商品吗?')">删除</a>
<a href="/product/[email protected]" class="btn btn-default">修改</a>
</td>
</tr>
}
</table>
No.3-削除操作
ID はインデックス ビューに渡されました。次に、コントローラーは削除するメソッドを書き込みます。
コントローラーの削除メソッド。
//删除数据
public ActionResult Del(int id)
{
db.g.Remove(db.g.Find(id));
if (db.SaveChanges() > 0)
{
return Content("<script>alert('删除成功');window.location.href='../product/index';</script>");
}
else
{
return View();
}
}
No.4- 新しい操作
追加ページにジャンプするインデックスビュー。
ビューコードを追加
@using product_goods.Models;
@{
ViewBag.Title = "Add";
Layout = null;
}
<h2>添加商品</h2>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<div>
<form class="bs-example bs-example-form" action="/product/Add" method="post" style="padding: 10px 10px 10px;" role="form">
<div class="input-group">
<span class="input-group-addon">商品名称:</span>
<input type="text" class="form-control" style="width:15%;" name="goodname" placeholder="">
</div>
<br>
<div class="input-group">
<span class="input-group-addon">商品价格:</span>
<input type="text" class="form-control" style="width:15%;" name="goodprice" placeholder="">
</div>
<br>
<div class="input-group">
<span class="input-group-addon">商品数量:</span>
<input type="text" class="form-control" style="width:15%;" name="goodstock" placeholder="">
</div>
<br />
<div class="input-group">
<span class="input-group-addon">商品详情:</span>
<input type="text" class="form-control" style="width:15%;" name="desription" placeholder="">
</div>
<br />
<div>
<input type="submit" name="name" style="margin-left:50px;width:150px;" value="添加" class="btn btn-default text-center" />
</div>
</form>
</div>
コントローラーの追加方法。
//添加数据
public ActionResult Add()
{
return View();
}
[HttpPost]
public ActionResult Add(goods gs)
{
db.g.Add(gs);
if (db.SaveChanges() > 0)
{
return Content("<script>alert('添加成功');window.location.href='../product/index';</script>");
}
else
{
return Content("<script>alert('添加失败');window.location.href='../product/Add';</script>");
}
}
No.5- 修正操作
インデックス ビューで ID を渡します。
ビューを編集します。
@model product_goods.Models.goods
@{
ViewBag.Title = "Edit";
Layout = null;
}
<h2>修改数据</h2>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<div>
<form class="bs-example bs-example-form" action="/product/Edit" method="post" style="padding: 10px 10px 10px;" role="form">
<div class="input-group">
<span class="input-group-addon">商品编号:</span>
<input type="text" class="form-control" readonly style="width:15%;" value="@Model.goodid" name="goodid" placeholder="">
</div>
<br />
<div class="input-group">
<span class="input-group-addon">商品名称:</span>
<input type="text" class="form-control" style="width:15%;" value="@Model.goodname" name="goodname" placeholder="">
</div>
<br>
<div class="input-group">
<span class="input-group-addon">商品价格:</span>
<input type="text" class="form-control" style="width:15%;" value="@Model.goodprice" name="goodprice" placeholder="">
</div>
<br>
<div class="input-group">
<span class="input-group-addon">商品数量:</span>
<input type="text" class="form-control" style="width:15%;" value="@Model.goodstock" name="goodstock" placeholder="">
</div>
<br />
<div class="input-group">
<span class="input-group-addon">商品详情:</span>
<input type="text" class="form-control" style="width:15%;" value="@Model.desription" name="desription" placeholder="">
</div>
<br />
<div>
<input type="submit" name="name" style="margin-left:50px;width:150px;" value="编辑" class="btn btn-default text-center" />
</div>
</form>
</div>
コントローラーの改造方法。
//修改数据
public ActionResult Edit(int id)
{
var gid = db.g.Find(id);
return View(gid);
}
[HttpPost]
public ActionResult Edit(goods g)
{
db.Entry(g).State = EntityState.Modified;
if (db.SaveChanges() > 0)
{
return Content("<script>alert('修改成功');window.location.href='../product/index';</script>");
}
else
{
return Content("<script>alert('修改失败');window.location.href='../product/Edit';</script>");
}
}
追加、削除、変更、確認の手順です。実は、これが MVC の最も単純な追加、削除、変更、クエリであり、これを知らないと本当に終わってしまいます。
やっと
最初は分からないこともあります、生まれつき持っている人はいません、だからゆっくり学んでください、見知らぬ人、さあ!