在view 層中 跳轉詳細頁面我們瀏覽數 加1。,但修改頁面不需要加1,兩者都是呼叫controller 中從DB中檢索一條資料!
在詳細頁面 :
"InfoContent", "Activity", new { id = x.NOTICE_ID,browseNum="add" }
在修改頁面:
// 修改
function Modify(value)
{
location.href = '/Activity/InfoEdit?p_strNoticeID=' + value + '&browseNum=' +unadd;
}
最終在Repository 中
2 {
3
4
5 ACT_NOTICE notice = Single(x => x.NOTICE_ID == p_Notice_ID);
6 if (browseNum == "add")
7 {
8 notice.BROWSE_NUM = notice.BROWSE_NUM + 1;
9 }
10
11 SubmitChanges();
12
13 return notice;
14 }
個人總結:傳參的思想,引申到通過傳遞不同引數控制顯示內容的不同,例如之前做的同一個view層,在一個也沒顯示圖片,另一個也沒沒有圖片,我們可以在viewmodel中定義一個欄位做標誌
/// <summary>
/// 控制頁面顯示圖片的引數
/// </summary>
public string showDiv { get; set; }
在controller中
2 /// Index頁面載入 公告資訊list
3 /// </summary>
4 /// <returns></returns>
5 public ActionResult List(int flag)
6 {
7 NoticeViewModel viewModel=new NoticeViewModel();
8 viewModel=_noticeLogic.GetNotctForList();
9
10 //flag==1在index頁面公告資訊顯示圖片
11 if (flag == 1)
12 {
13 viewModel.showDiv = "show";
14 }
15
16 return PartialView("List", viewModel);
17
18 }
這樣就可以在 Index頁面 傳遞引數
<div class="news">
@Html.Action("List", "Notice", new { flag = "1" })
</div>
而在另一頁面所傳遞的引數不同。
最終在View層,在載入頁面時作出判斷,是否載入帶有圖片的div的顯示。
@if (Model.showDiv == "show")
{
在index頁面顯示圖片(引數1)
}
else
{
在其他頁面不顯示圖片
}
還可以引申到viewBag 在controller 定義一個引數 傳遞在view層!