MVC——數據庫增刪改查(Razor)


一、顯示信息
1、Models(模板)
private MyDBDataContext _context = new MyDBDataContext(); //定義一個變量取出所有數據
        public List<Student> Select()
        {
            return _context.Student.ToList();//把所有數據都顯示出來,全部查詢
        }
2、Controllers(控制器)
 public ActionResult Index()//顯示信息
        {
            ViewBag.data = new StudentBF().Select();//調用查詢方法將獲取到的信息存到ViewBag.data里面
            return View();
        }
3、Views(視圖)
@using 數據庫增刪改查_Razor_.Models;
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <style>
        .trhead
         {
            background-color:#0094ff;
            text-align:center;
        }
        .trrow
         {
            background-color:#FFFFcc;
            text-align:center;
        }
        </style>
</head>
<body>
    <div>
        <table border="1" width="100%" cellpadding="4" cellspacing="1">
            <tr class="trhead">
                 <td>學號</td>
                 <td>姓名</td>
                 <td>操作</td>                       
            </tr>
                @{
                    List<Student> list=ViewBag.data as List<Student>;//將數據取出來並進行強制轉換
                    foreach (Student data in list)
                    {
                          <tr class="trrow">
                          <td>@data.Sno </td>
                          <td>@data.Sname </td>     
                      @*   <td><a href="/Home/Details/@data.Sno"><img src="xiangxi.png"></a>&nbsp;&nbsp;<a href="/Home/Edit/@data.Sno"><img src="xiugai.png"></a></td>*@
                                              
                           </tr>
                }      
                }      
            </table>
    </div>
</body>
</html>

效果圖:

 

 

 

 

二、詳細信息
1、Models(模板)
  public Student Select(string sno) //詳細查詢
        {
            var query = _context.Student.Where(P=>P.Sno==sno);//找到P這個對象里輸入的學號和里面的學號相同的一個人
            if(query.Count()>0)
            {
                return query.First();
            }
            else
            {
                return null;
            }
        }
2、Controllers(控制器)
  public ActionResult Details(string id)//詳細信息 括號里面必須是id
        {
            ViewBag.data = new StudentBF().Select(id);//調用詳細信息方法將獲取到的信息存到ViewBag.data里面
            return View();
        }
3、Views(視圖)
@using 數據庫增刪改查_Razor_.Models;
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Details</title>
      <style>
        .trhead
         {
            background-color:#0094ff;
            text-align:center;
        }
        .trrow
         {
            background-color:#FFFFcc;
            text-align:center;
        }
        </style>
</head>
<body>
    <div>
         <table border="1" width="100%" cellpadding="4" cellspacing="1" class="trrow">
             @{
                 Student data=ViewBag.data;
            <tr >
                 <td>學號</td>
                 <td>@data.Sno</td>              
            </tr>

              <tr>
                 <td>姓名</td>
                 <td>@data.Sname</td>    
              </tr>

              <tr>
                 <td>性別</td>
                 <td>@data.Ssex</td>    
              </tr>

              <tr>
                 <td>生日</td>
                 <td>@data.Sbirthday</td>    
              </tr>

              <tr> 
                 <td>班級</td>
                 <td>@data.Class</td>    
             </tr>
             }
            </table>
    </div>
</body>
</html>

效果圖:

 

 

 

 

三、修改信息。
1、Models(模板)
 public void Update(string sno,string sname,string sex,string birthday,string Class)//修改
        {   
            var query=_context.Student.Where(P=>P.Sno==sno);
            if(query.Count()>0)
            {
            Student data = query.First();     
            data.Sname = sname;
            data.Ssex = sex;
            data.Sbirthday = birthday;
            data.Class = Class;
            }
            _context.SubmitChanges();
        
        }
2、 Controllers(控制器)
public ActionResult Edit(string id)//修改前的編輯
        {
            ViewBag.data = new StudentBF().Select(id);//將要修改的人的信息查詢出來
            ViewBag.banji = new StudentBF().Select();//將所有的班級信息顯示出來
            return View();
        }
        public ActionResult Update(string sno,string sname,string sex,string birthday,string class1 )//修改前的編輯
        {
            new StudentBF().Update(sno,sname,sex,birthday,class1); //將數據扔進去進行修改
            return RedirectToAction("Index");//返回動作到Index
        }

3、Views(視圖)
@using 數據庫增刪改查_Razor_.Models;
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Edit</title>
</head>
<body>
    <div>
        <form  name="f1" id="f1" action="/Home/Update" method="post">
             @{
                 Student data=ViewBag.data;
                  List<Student> banji=ViewBag.banji;
            <div>  
            學號:<input id="Text1" name="sno" type="text" value="@data.Sno" readonly="readonly"  /><br/>
            姓名:<input id="Text2" name="sname" type="text" value="@data.Sname" /><br/>
            性別:<input id="Radio1" name="sex" type="radio"   value=""  @(data.Ssex==""?"checked=checked":"") />男<input id="Radio2" type="radio" name="sex" value="" @(data.Ssex==""?"checked=checked":"" )/>女<br/>
            生日:<input id="Text3" type="text" name="birthday" value="@data.Sbirthday" /><br/>
            班級:<select id="Select1" name="class1">
                          @{
                              foreach(Student x in banji )
                              {
                           if(data.Class==x.Class)
                            {
                            <option selected="selected" value="@x.Class">@data.Class</option>
                            }
                            else
                          {
                         <option value="@x.Class">@data.Class</option>
                           }
                           }
               }
                
                     </select>    
                </div>
               }
            <input id="Submit1" type="submit" value="更新" />
            </form>
    </div>
</body>
</html>

效果圖:

 

 

 

 

四、刪除
1、Models(模板)
  public ActionResult Delete(string id)//刪除
        {
            new StudentBF().Delete(id);//調用方法刪除
            return RedirectToAction("Index");//返回到動作Index
        }
2、Controllers(控制器)
   public ActionResult Delete(string id)//刪除
        {
            new StudentBF().Delete(id);//調用方法刪除
            return RedirectToAction("Index");//返回到動作Index
        }
3、Views(視圖)
Null

效果圖:

 

 

 

 

五、增加
1、Models(模板)
 public void Insert(string sno, string sname, string sex, string birthday, string Class)//增加
        {
                Student data = new Student();//造一個新的學生(Student)
                data.Sno = sno;
                data.Sname = sname;
                data.Ssex = sex;
                data.Sbirthday = birthday;
                data.Class = Class;
                _context.Student.InsertOnSubmit(data);  //將data增加到Student表里去
            _context.SubmitChanges();

        }
2、Controllers(控制器)
  public ActionResult Add()//增加
        {
            return View();
        }
        public ActionResult Insert(string sno,string sname,string sex,string birthday,string class1)//增加
        {
            new StudentBF().Insert(sno,sname,sex,birthday,class1);//將傳過來的參數全部扔進去
            return RedirectToAction("Index");//返回到動作Index
        }

3、Views(Add)(視圖)
@using 數據庫增刪改查_Razor_.Models;
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Add</title>
</head>
<body>
         <div>
        <form  name="f1" id="f1" action="/Home/Insert" method="post">
            學號:<input id="Text1" name="sno" type="text" value=""   /><br/>
            姓名:<input id="Text2" name="sname" type="text" value="" /><br/>
            性別:<input id="Radio1" name="sex" type="radio"   value="" checked="checked" />男<input id="Radio2" type="radio" name="sex" value="" )/>女<br/>
            生日:<input id="Text3" type="text" name="birthday" value="" /><br/>
            班級:<input id="Text14" type="text" name="class1" />
             
            <input id="Submit1" type="submit" value="添加" />
            </form>
    </div>
</body>
</html>

效果圖:

→→→

 

注意:下拉表出來的班級是新造了個班級表 (Add)

效果如下圖:

如果是修改的話,班級里顯示值需要if else判斷, 如果學生的班級和班級表的班級對應起來,則默認學生的班級被選中,否則只需要將其他的班級添加上就行了,不需要選中

效果如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM