對于個人(注冊表)與團隊(團隊表)(兩張表沒有關聯)的展示與可空判斷

對于個人(注冊表)與團隊(團隊表)(兩張表沒有關聯)的展示與可空判斷

1,在Model中只有GroupId沒有名稱(GroupName),所以自己定義一個:

  /// <summary>/// RegistratorMessage 界面模型類/// </summary>[Validator(typeof(RegistratorMessageValidator))]public partial class RegistratorMessageModel : BaseNopEntityModel{/// <summary>/// RegistratorMessage構造/// </summary>public RegistratorMessageModel(){}/// <summary>/// 獲取或設置 團隊標識/// </summary>[NopResourceDisplayName("Admin.RegistratorMessage.GroupId")][UIHint("Int32Nullable")]public Nullable<int> GroupId { get; set; }/// <summary>/// 團隊標識名稱/// </summary>public string GroupName { get; set; }}

2.在界面(view)列表展示中

 columns: [{field: "GroupName",//團隊標識名稱title:    "@T("Admin.RegistratorMessage.GroupId")",width:100,}]

2.1在添加界面呈現方式

 <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.在服務端(控制器中)

為了能呈現界面的GroupName ,故需要在控制器中(ListInfo方法,Create方法,Edit方法)調用公共方法:

  public string GroupNameIcon(RegistratorMessageModel model){if (model.GroupId.HasValue)//用0標識不是團隊   判斷是否可空
            {if (model.GroupId.Value != 0)//判斷是否為0(即個人){model.GroupName = _groupRegistratorMessageService.GetGroupRegistratorMessageById(model.GroupId.Value).GroupName;}else{model.GroupName = "0";}}else{model.GroupName = "0";}return model.GroupName;}

調用方式為:GroupNameIcon(model)

例如:添加方法中

public ActionResult Create(){var model = new RegistratorMessageModel();GroupNameIcon(model);//團隊標識名稱return View(model);}

其余方法與添加方法的使用相同。

4,將界面傳回來的GroupName通過查詢獲得GroupId(因為數據庫存儲的是GroupId,GroupName只是自己定義的為了臨時展示用的)

使用方式的方式調用:

方法為:

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方法的調用為:

例子:添加界面(將輸入的GroupName轉為數據庫可以存放的GroupId)

 [HttpPost, ParameterBasedOnFormName("save-continue", "continueEditing")]public ActionResult Create(RegistratorMessageModel model, bool continueEditing){if (ModelState.IsValid){var Info = model.ToEntity();GroupIdIcon(model, Info);//獲得團隊id 
              _registratorMessageService.InsertRegistratorMessage(Info);//插入到數據庫
SuccessNotification(_localizationService.GetResource("添加成功"));if (continueEditing){return RedirectToAction("Edit", new { id = Info.Id });}return RedirectToAction("List");}GroupNameIcon(model);//團隊標識名稱return View(model);}

?上面這種做法有一個問題就是:如何在添加或者編輯的時候出現了還沒有存在數據庫團隊名稱,則列表展示中將不會出現數據。所以不建議才有公共里面的方法

?

使用這種判斷方式:先判斷在團隊存在的是否存在的前提下,再在去查詢匹配數據庫,進而判斷是否賦值

   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 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/wfaceboss/p/6289321.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396917.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396917.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396917.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

macos sierra 引導鏡像_真想不到,在win10上可以制作蘋果macOS啟動U盤

不管你使用的是macOS還是Windows10&#xff0c;電腦出現啟動問題是很正常的&#xff0c;原因有很多種&#xff0c;包括(但不限于)文件損壞、硬件故障和錯誤更新等。如果意外發生在蘋果電腦上&#xff0c;可以使用帶有安裝文件的macOS啟動U盤來修復它。這正是在電腦正常工作時應…

搜索引擎使用技巧

一.基本使用 雙引號 代表完全匹配搜索&#xff0c;也就是說搜索結果返回的頁面包含雙引號中出現的所有的詞&#xff0c;連順序也必須完全匹配。bd和Google 都支持這個指令。 例如&#xff1a; “javar高性能程序開發” 減號 代表搜索不包含減號后面的詞的頁面。使用這個指令時減…

python(1) - 數據類型和變量

數據類型&#xff1a; 整數&#xff1a;就是整數&#xff0c;包括正整數&#xff0c;0&#xff0c;負整數 浮點數&#xff1a; 通俗點說&#xff0c;就是小數 長整數&#xff1a; 就是比較長的整型&#xff0c;通常后面會跟一個L 字符串&#xff1a; 字符串需要用“”或’’括起…

powershell awk_談談 PowerShell

萬事萬物&#xff0c;有始有終。直從萌芽拔&#xff0c;高自毫末始。所謂的 Shell&#xff0c;無非是應用程序與操作系統內核進行交互的一個中間程序而已。我本人玩電腦也有很久一陣子了&#xff0c;最開始接觸到的就是Windows 7 操作系統&#xff0c;當時 Windows 7 上市不久&…

設計模式之: 裝飾器模式

什么是裝飾器模式 作為一種結構型模式, 裝飾器(Decorator)模式就是對一個已有結構增加"裝飾".適配器模式, 是為現在有結構增加的是一個適配器類,.將一個類的接口&#xff0c;轉換成客戶期望的另外一個接口.適配器讓原本接口不兼容的類可以很好的合作.裝飾器模式是將一…

python七段數碼管的詳解,Python入門基礎:七段數碼管繪制

1.在學習Python的過程中&#xff0c;運用所學的一些基礎知識&#xff0c;進行一些簡單的編程&#xff0c;可以收獲很多樂趣。在生活中&#xff0c;LED燈無處不在&#xff0c;熒幕顯示的廣告詞&#xff0c;給我們呈現出動態的視覺效果。下面&#xff0c;則以最簡單的顯示日期為例…

@class

使用格式class 類名; class寫在.h文件里&#xff0c;import寫在.m文件里。這樣可以提高編譯效率 import會在導入文件發生變化時重新拷貝編譯&#xff0c;而class只會告訴使用者有這個類&#xff0c;并不會去拷貝。 場景1 使用import&#xff1a;a拷貝b&#xff0c;b拷貝c&#…

python圖標的演變_Python3 生成icon圖標

首先安裝所使用的庫 pillow&#xff0c; pillow 是用來取代 PIL 的&#xff0c; pip3 install pillow 安裝成功圖&#xff1a;A866FFD7-2283-4BFB-8313-DBDEE909A579.png 簡單的代碼&#xff1a; from __future__ import print_function import os, sys from PIL import Image …

IDEA 熱部署 僅支持jdk1.6,1.7

第一安裝 dcevm 下載地址http://ssw.jku.at/dcevm/binaries/ java -jar dcevm-0.2-win.jar &#xff0c;選擇需要安裝該補丁的jdk&#xff0c;點擊按鈕Install即可 第二&#xff1a;IDEA 在Debug模式下運行&#xff0c;這時隨便修改文件&#xff0c;自動發布到tomcat中 超級快…

php中perl配置,Windows下 Apache、PHP和Perl的安裝配置

在安裝AWStats7.0和 JAWStats之前需要配置其環境&#xff0c;而運行AWStats需要perl支持&#xff0c;運行JAWStats需要PHP支持&#xff0c;這篇文章將具體介紹其環境的安裝配置。環境Windows 2003Apache2.2Per5.12lPHP5(開源)Apache&#xff1a;http://httpd.apache.org/Perl&a…

Android常用的一些make命令(轉載)--不錯

原文網址&#xff1a;http://blog.sina.com.cn/s/blog_abc7e49a01011y0n.html 1.make -jXX XX表示數字&#xff0c;這個命令將編譯Android系統并生成鏡像&#xff0c;XX表示可以使用到的CPU核數&#xff0c;這在配置好的電腦上特別有用&#xff0c;公司的16核ubuntu服務器執行…

arraylist 初始化_ArrayList(JDK1.8)源碼解析

既然是看源碼&#xff0c;那我們要怎么看一個類的源碼呢&#xff1f;這里我推薦的方法是&#xff1a;1)看繼承結構看這個類的層次結構&#xff0c;處于一個什么位置&#xff0c;可以在自己心里有個大概的了解。2)看構造方法在構造方法中&#xff0c;看做了哪些事情&#xff0c;…

技術管理:技術負責人所需的四個核心能力

簡述 「技術負責人」這一稱呼其實比較泛了。往大了講&#xff0c;可以指 CTO、技術VP、技術總監&#xff0c;往小了講&#xff0c;可以指 小組Leader、技術主管、架構師 等。 這些不同崗位的「技術負責人」在工作中會處理著各不相同的問題&#xff0c;因此對他能力要求的側重點…

think php f方法,修改ThinkPHP3.2的F方法

修改ThinkPHP3.2的F方法ThinkPHP3.2的F采用的是序列化方式保存數據&#xff0c;由于F方法保存的文件名是已知的可能造成一些數據泄露&#xff0c;所以在此修改F方法直接替換TP的F方法即可function F($name, $value, $pathDATA_PATH) {static $_cache array();$filename $path…

php Pthread 多線程 (二) Worker和Threaded

<?php //Worker是具有持久化上下文(執行環境)的線程對象 //Worker對象start()后&#xff0c;會執行run()方法&#xff0c;run()方法執行完畢&#xff0c;線程也不會消亡 class MySqlWorker extends Worker {private $name ;private $db null;public function __construct…

ios yymodel 將字典轉數組模型_TensorNet——基于TensorFlow的大規模稀疏特征模型分布式訓練框架

TensorNet是什么&#xff1f;TensorNet是一個構建在TensorFlow之上針對廣告推薦等大規模稀疏場景優化的分布式訓練框架。TensorNet的目標是讓所有使用TensorFlow的開發者可以快速的、方便的訓練出稀疏參數超過百億的超大模型。訓練帶有大規模稀疏特征模型的主要挑戰在廣告、搜索…

mysql 索引及索引創建原則

是什么 索引用于快速的查詢某些特殊列的某些行。如果沒有索引&#xff0c; MySQL 必須從第一行開始&#xff0c;然后通過搜索整個表來查詢有關的行。表越大&#xff0c;查詢的成本越大。如果表有了索引的話&#xff0c;那么 MySQL 可以很快的確定數據的位置&#xff0c;而不用查…

php文件怎么制定編碼格式,php文件編碼格式對結果有影響

最近弄個小網站&#xff0c;發現windows下的文件上傳到linux服務器上后&#xff0c;出現了標簽錯亂的問題。比如&#xff0c;我的代碼是&#xff1a;print testtest;但是&#xff0c;瀏覽器的解析格式缺成了下面的樣子:testtest進過不停地搜索&#xff0c;發現了問題所在&#…

【鏈表】Add Two Numbers

題目&#xff1a; You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) (5…

我們為何要使用多線程,它有什么優點?

其實在平時的開發中&#xff0c;很多程序員都不會去寫線程&#xff0c;為啥&#xff1f;因為麻煩&#xff0c;其次是用到的地方并不多&#xff0c;除非逼不得已&#xff0c;大家都不會去寫&#xff0c;畢竟寫一天代碼&#xff0c;拿一天工資&#xff0c;是吧&#xff1f; 麻煩歸…