对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断
1,在Model中只有GroupId沒有名稱(GroupName),所以自己定義一個(gè):
/// <summary>/// RegistratorMessage 界面模型類/// </summary>[Validator(typeof(RegistratorMessageValidator))]public partial class RegistratorMessageModel : BaseNopEntityModel{/// <summary>/// RegistratorMessage構(gòu)造/// </summary>public RegistratorMessageModel(){}/// <summary>/// 獲取或設(shè)置 團(tuán)隊(duì)標(biāo)識(shí)/// </summary>[NopResourceDisplayName("Admin.RegistratorMessage.GroupId")][UIHint("Int32Nullable")]public Nullable<int> GroupId { get; set; }/// <summary>/// 團(tuán)隊(duì)標(biāo)識(shí)名稱/// </summary>public string GroupName { get; set; }}2.在界面(view)列表展示中
columns: [{field: "GroupName",//團(tuán)隊(duì)標(biāo)識(shí)名稱title: "@T("Admin.RegistratorMessage.GroupId")",width:100,}]2.1在添加界面呈現(xiàn)方式
<div class="form-group"><div class="col-md-3">@Html.NopLabelFor(model => model.GroupId)</div><div class="col-md-6">@Html.NopEditorFor(model => model.GroupName)//輸入框中的值@Html.ValidationMessageFor(model => model.GroupId)</div></div>3.在服務(wù)端(控制器中)
為了能呈現(xiàn)界面的GroupName ,故需要在控制器中(ListInfo方法,Create方法,Edit方法)調(diào)用公共方法:
public string GroupNameIcon(RegistratorMessageModel model){if (model.GroupId.HasValue)//用0標(biāo)識(shí)不是團(tuán)隊(duì) 判斷是否可空 {if (model.GroupId.Value != 0)//判斷是否為0(即個(gè)人){model.GroupName = _groupRegistratorMessageService.GetGroupRegistratorMessageById(model.GroupId.Value).GroupName;}else{model.GroupName = "0";}}else{model.GroupName = "0";}return model.GroupName;}調(diào)用方式為:GroupNameIcon(model)
例如:添加方法中
public ActionResult Create(){var model = new RegistratorMessageModel();GroupNameIcon(model);//團(tuán)隊(duì)標(biāo)識(shí)名稱return View(model);}其余方法與添加方法的使用相同。
4,將界面?zhèn)骰貋淼腉roupName通過查詢獲得GroupId(因?yàn)閿?shù)據(jù)庫存儲(chǔ)的是GroupId,GroupName只是自己定義的為了臨時(shí)展示用的)
使用方式的方式調(diào)用:
方法為:
private void GroupIdIcon(RegistratorMessageModel model, RegistratorMessage eventInfo){eventInfo.GroupId = _groupRegistratorMessageService.GetAllGroupRegistratorMessages().FirstOrDefault(x => x.GroupName == model.GroupName) != null ? (_groupRegistratorMessageService.GetAllGroupRegistratorMessages().FirstOrDefault(x => x.GroupName == model.GroupName).Id) : 0;}4.1方法的調(diào)用為:
例子:添加界面(將輸入的GroupName轉(zhuǎn)為數(shù)據(jù)庫可以存放的GroupId)
[HttpPost, ParameterBasedOnFormName("save-continue", "continueEditing")]public ActionResult Create(RegistratorMessageModel model, bool continueEditing){if (ModelState.IsValid){var Info = model.ToEntity();GroupIdIcon(model, Info);//獲得團(tuán)隊(duì)id _registratorMessageService.InsertRegistratorMessage(Info);//插入到數(shù)據(jù)庫 SuccessNotification(_localizationService.GetResource("添加成功"));if (continueEditing){return RedirectToAction("Edit", new { id = Info.Id });}return RedirectToAction("List");}GroupNameIcon(model);//團(tuán)隊(duì)標(biāo)識(shí)名稱return View(model);}?上面這種做法有一個(gè)問題就是:如何在添加或者編輯的時(shí)候出現(xiàn)了還沒有存在數(shù)據(jù)庫團(tuán)隊(duì)名稱,則列表展示中將不會(huì)出現(xiàn)數(shù)據(jù)。所以不建議才有公共里面的方法
?
使用這種判斷方式:先判斷在團(tuán)隊(duì)存在的是否存在的前提下,再在去查詢匹配數(shù)據(jù)庫,進(jìn)而判斷是否賦值
if (entity.GroupId != null){var team = _groupRegistratorMessageService.GetAllGroupRegistratorMessages().FirstOrDefault(g => g.Id == entity.GroupId);if (team != null){model.TeamName = team.GroupName;}}?
posted on 2017-01-16 13:37 WFaceBoss 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/wfaceboss/p/6289321.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。