对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断

对于个人(注册表)与团队(团队表)(两张表没有关联)的展示与可空判断

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.mzph.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; 麻烦归…