不能說是慶幸吧,正趕上公司要開發一個小小的MVC項目,於是這樣任務就只有我自己承擔,在這個項目中我才徹底感覺到自己之前有關MVC知識的無知,以為接觸了皮毛就感覺能做項目,只要有心動腦思考就能完成一個完整的小項目,其實並不是這樣的,還是踏踏實實的實戰才是最有效的吧,之前也說要好好學習那,但是從開始北漂似乎就沒有安靜下來學習的吧,總是感覺有無數的事情想要去做,卻總是忙不完,但是去想一下,其實並沒有什么一定要做的事情要做,不是因為不想學習,是需要一顆穩定的心吧,這樣機會就來啦,入職的工作已經辦完,一切都穩定了吧,以后每天可能重復着同樣的節律,上班,敲代碼,下班。。。就是這樣的生活節奏讓我有了跨越三個月重新拿起我的學習來填滿我的生活。好啦,想必好多友友都是大神啦,但是我還是有我需要謹記的東東那,還是總結一些我要記憶的吧。
一.controller向view傳參
<1>使用ViewDate傳參
ViewData["Name"] = Request.Form["Name"]; @Html.Encode(ViewData["Name"])
其實上面的ViewDate就是獲取拿到的值設置一個鍵,然后在view中重新拿到這個鍵即可,這樣是最簡單的一種吧,其實在這里說ViewDate傳值的問題,就想起來我在遇到一個情況,是之前不太清楚而且不敢去嘗試的問題吧,就是controller中的其中一個Action獲取到一個值,但是想當前controller其他的Action中用應該怎么辦?我在項目中就簡單的創建了session,雖然這不是什么好方法,但是感覺用起來還是蠻方便的哦,嘿嘿,如下所示:
model.Name = Request.Form["Name"]; Session["Name"] = model.Name;
這樣是我們拿到值然后創建一個session,接下來我們就去拿session的值即可。
另外想說的是我們的ViewDate不僅僅是傳一個string類型的值到View上面,它甚至可以傳一個List集合到View中,如下所示:
List<Student> stuModel = stuBll.GetAllStudentById(id); ViewData["stuModel"] = stuModel;
上面是我們在controller中創建傳值,接下來簡單的總結下在view中怎么拿值:
@{List<Student> stuModel = ViewData["stuModel"] as List<Student>;} @if (stuModel.Count > 0) { foreach (var item in stuModel) { <span class="stuId">@item.Name</span> } }
就這樣我們就可以在view中拿到一個我們想遍歷的集合啦,其實我們為什么不返回model實體類那,這就是為什么要使用ViewDate返回集合的原因吧,在一個View中只能使用一個model,所以在不得已時間我們只能使用其他的方法啦,嘿嘿。
另外簡單的總結一個List集合中如果存放一個數組我們應該如何遍歷?
@{List<string[]> stuModel = ViewData["stuModel"] as List<string[]>;} @if (stuModel.Count > 0) { foreach (string[] stu in stuModel) { for (int i = 0; i < stu.Length; i++) { <span class="Id" href="#">›@stu[1]</span> <span class="Name" hidden>›@stu[3]</span> <span class="Gender" hidden>›@stu[4]</span> } } }
上面總結List中的數組遍歷主要是因為前幾天去接觸工作流的項目啦,一直沒用到這個的原因吧,嘿嘿,還真是容易忘記,在這里記得遍歷時間加上@啦。
二.controller中返回model應該怎么引用怎么使用
只學習不練習就是一個大坑,其實沒有練習就是什么也沒學習到啦,直到我開始做項目我才知道我竟然引用model不知道啦,那時間很是意外啊。
首先我們在返回model時間,在controller中需要返回model,然后在view中引用並遍歷數據,controller中的示例即如下所示:
public ActionResult Index() { List<Student> stuModel = adBll.GetAllstuModel(id); return View(models); }
簡單的總結下view中我們應該怎么寫的啦。
@using Demo.Model; @model List<Student> foreach (var item in Model) { <td>@Html.DisplayFor(modelItem => item.Name)</td> }
好啦,今天就暫時總結到這里啦,嘿嘿,要過端午節啦,親們都好好玩哈,祝親們端午節快樂,一見粽情哦,0.0