日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > MVC 更新部分字段

MVC 更新部分字段

來源:程序員人生   發布時間:2014-11-10 08:02:00 閱讀次數:2628次

<1>首先是在項目中添加1個ADO.NET實體數據模型,選擇MemberInfo表 他會自動在模型里面生成1個MemberInfo的類,也會生成1個對應的實體類DataBaseEntities。用的時候只有用模型里的MemberInfo類和DataBaseEntities就行了。 不需再額外添加MemberInfo類了  【注意:這個DataBaseEntities 是你的http://www.jyygyx.com/db/名字+Entities】

<1>

MemeberCenter控制器

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace bigtree.Controllers { public class MemberCenterController : Controller { bigTreeEntities db = new bigTreeEntities(); public ActionResult Index(int id) { ViewData["uid"] = id; return View(); } /// <summary> /// 從實體中查詢出1條數據出來,然后將這條數據保存到ViewData.Model中 。這樣在Info視圖里就能夠根據Model來取數據了 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpGet] public ActionResult Info(int id) { ViewData["uid"] = id; //var queryUserInfo = from d in db.MemberInfo // where d.id == id // select d; //ViewData.Model = queryUserInfo.Single(); var queryUserInfo = db.MemberInfo.Single(x => x.id == id); var data= MemberDetail.ConvertToViewModel(queryUserInfo); ViewData.Model = data; return View(); } //[HttpPost] //public ActionResult Info(bigtree.MemberInfo newsMemberInfo) //{ // //db.MemberInfo.Attach(newsMemberInfo); // //db.ObjectStateManager.ChangeObjectState(newsMemberInfo, System.Data.EntityState.Modified); // //db.SaveChanges(); // bigtree.MemberInfo oldMemberInfo = db.MemberInfo.FirstOrDefault(x => x.id == newsMemberInfo.id); // oldMemberInfo.mobile = newsMemberInfo.mobile; // oldMemberInfo.name = newsMemberInfo.name; // oldMemberInfo.email = newsMemberInfo.email; // oldMemberInfo.userName = newsMemberInfo.userName; // UpdateModel<bigtree.MemberInfo>(oldMemberInfo); // db.SaveChanges(); // //db.CreateObjectSet<bigtree.MemberInfo>().ApplyCurrentValues(newsMemberInfo); // //db.SaveChanges(); // return View(); //} /// <summary> /// /// </summary> /// <param name="info">這個info其實你更新的對象</param> /// <returns></returns> [HttpPost] public ActionResult Info(MemberDetail info) { //從實體中查詢出1條數據(1個對象) var queryUserInfo = db.MemberInfo.Single(x => x.id==info.Id); //調用MemberDetail.ConvertToEntity方法對實體對象的字段進行更新。 var data = MemberDetail.ConvertToEntity(info, queryUserInfo); //使用來自控制器確當前值提供程序的值更新指定的模型實例(data) UpdateModel<bigtree.MemberInfo>(data); //將所有更新保存到數據源并重置對象上下文中的更改跟蹤 db.SaveChanges(); //db.CreateObjectSet<bigtree.MemberInfo>().ApplyCurrentValues(newsMemberInfo); //db.SaveChanges(); return View(); } } }

info視圖

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/MemberCenter.Master" Inherits="System.Web.Mvc.ViewPage<bigtree.ViewModel.MemberDetail>"%> <%@ Import Namespace="bigtree" %> <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> <% using (Html.BeginForm()) {%> <div class="rightCon"> <div class="nowTil"> <h3> 個人資料</h3> </div> <ul class="memForm"> <li> <p class="setterTil"> 手機:</p> <div class="setterBd"> <%--<input type="text" class="setterInput fl" value=" <%: Model.mobile %>" readonly="">--%> <%: Html.TextBoxFor(x => x.Mobile, new { @class = "setterInput fl" ,@readonly=""})%> <div class="setterExplain"> (請填寫真實入住人姓名,每間房只填寫以為便可)</div> </div> </li> <li> <p class="setterTil"> 姓名:</p> <div class="setterBd"> <%--<input type="text" class="setterInput fl" value="張小凡" readonly="">--%> <%: Html.TextBoxFor(x => x.Name, new { @class = "setterInput fl"})%> </div> </li> <li> <p class="setterTil"> 郵箱:</p> <div class="setterBd"> <%--<input type="text" class="setterInput fl">--%> <%: Html.TextBoxFor(x => x.Email, new { @class = "setterInput fl" })%> <div class="setterExplain"> 未驗證</div> </div> </li> <li> <p class="setterTil"> 昵稱:</p> <div class="setterBd"> <%--<input type="text" class="setterInput fl">--%> <%: Html.TextBoxFor(x=>x.UserName,new {@class="setterInput fl"}) %> </div> </li> <li> <p class="setterTil"> 性別:</p> <div class="setterBd"> <label class="sex"> 男 </label> <%--<input type="radio" name="sex">--%> <%:Html.RadioButtonFor(x=>x.Gender,"1",new {@name="sex"}) %> <label class="sex"> 女 </label> <%:Html.RadioButtonFor(x=>x.Gender,"0" ,new {@name="sex"}) %> </div> </li> </ul> <input type="submit" value="保存" class="saveBtn"> </div> <% } %> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server"> <script type="text/javascript"> $(function () { $(".navList > :contains('個人資料')").addClass("cur"); }) </script> </asp:Content>

ViewModel 模型

using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace bigtree.ViewModel { public class MemberDetail { public int Id { get; set; } public string Mobile { get; set; } public string Name { get; set; } public string UserName { get; set; } public string Email { get; set; } public string Gender { get; set; } /// <summary> /// 將從實體(數據表)中查詢出來的對象轉換成ViewModel。其實也就是將從實體中查詢出來的對象的屬性字段,賦值給ViewModel。然后由ViewModel來將值展現在前端頁面。 /// </summary> /// <param name="info"></param> /// <returns></returns> public static MemberDetail ConvertToViewModel(bigtree.MemberInfo info) { MemberDetail memberDetail = new MemberDetail(); memberDetail.Mobile = info.mobile;//將實體的字段賦值給ViewModel對象的字段 memberDetail.Email = info.email; memberDetail.Name = info.name; memberDetail.UserName = info.userName; memberDetail.Gender = info.sex; memberDetail.Id = info.id; return memberDetail; //返回1個ViewModel 字段 } /// <summary> /// 將ViewModel轉換成實體。首先用戶從實體中查詢出1條數據(這條數據就是參數bigtree.MemberInfo info),然后我要對這條數據進行更新。這個更新就是用戶在前端頁TextBox中輸入的數據(其實也就是給ViewModel對象的屬性賦值的進程)。然后將這個對象的所有屬性賦值給從實體中查詢出來的對象的對應屬性 /// </summary> /// <param name="memberDetail"></param> /// <param name="info"></param> /// <returns></returns> public static bigtree.MemberInfo ConvertToEntity(MemberDetail memberDetail, bigtree.MemberInfo info) { info.email = memberDetail.Email; //將用戶在頁面輸入的Email的值賦值給 實體bigtree.MemberInfo類的email字段,以到達更新實體類(其實這個實體類就是數據表)中的數據 info.mobile = memberDetail.Mobile; info.id = memberDetail.Id; info.name = memberDetail.Name; info.sex = memberDetail.Gender; info.userName = memberDetail.UserName; return info; //返回1個更新后的實體對象 } } }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91久久亚洲 | 久久精品播放 | 99精品国产高清在线观看 | 免费精品国产的网站免费观看 | 中文字幕你懂的 | 草久久网 | 亚洲成人国产 | 国产在线高清 | 亚洲精彩视频在线 | 日韩精品一区二区三区中文在线 | 一本色道精品久久一区二区三区 | 色在线播放 | 国产乱色国产精品播放视频 | 久久精品一区二区三区不卡牛牛 | 91久久久久久久久 | 91一区二区 | 精品国产福利 | 国产成人综合亚洲 | 亚洲成年 | 亚洲免费观看 | 久久久久久久国产精品视频 | 99九九热 | 欧美白人做受xxxx视频 | 欧美日韩亚洲成人 | 九色官网| 国产成人深夜视频51 | 日韩精品网 | 久久久久久国产免费视网址 | 黑人巨大精品欧美一区免费视频 | 在线91av | www.亚洲一区 | 色网免费观看 | 一区二区免费在线视频 | 成人福利一区 | 国产精品高清一区 | 午夜激情视频在线观看 | 狠狠色网站 | av丁香| 欧美aa在线观看 | 成人免费网站在线观看 | 亚洲色图20p |