DTcms 扩展字段标签调用
前台模版:
文章列表:{dr[author]}
文章内容{model.fields[author]} 点击数
后台CS文件:model.fields["author"].ToString()
赋值
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("good", "");
dic.Add("author", user.user_name);
model.fields = dic; //扩展字段赋值
#region 自定义:通过ID获取货号
protected string getGoods_No(int id)
{
string goods_no = "";
Model.article model = new BLL.article().GetModel(id);
List<Model.article_attribute_field> ls1 = new BLL.article_attribute_field().GetModelList(this.channel_id, "");
foreach (Model.article_attribute_field modelt1 in ls1)
{
if (modelt1.name == "goods_no")
{
if (model.fields["goods_no"] != null)
goods_no = model.fields["goods_no"].ToString();
}
} return goods_no;
} #endregion
#region 扩展字段赋值=============================
private Dictionary<string, string> SetFieldValues(int _channel_id)
{
DataTable dt = new BLL.article_attribute_field().GetList(_channel_id, "").Tables[];
Dictionary<string, string> dic = new Dictionary<string, string>();
foreach (DataRow dr in dt.Rows)
{
//查找相应的控件
switch (dr["control_type"].ToString())
{
case "single-text": //单行文本
TextBox txtControl = FindControl("field_control_" + dr["name"].ToString()) as TextBox;
if (txtControl != null)
{
dic.Add(dr["name"].ToString(), txtControl.Text.Trim()); }
break;
case "multi-text": //多行文本
goto case "single-text";
case "editor": //编辑器
HtmlTextArea htmlTextAreaControl = FindControl("field_control_" + dr["name"].ToString()) as HtmlTextArea;
if (htmlTextAreaControl != null)
{
dic.Add(dr["name"].ToString(), htmlTextAreaControl.Value);
}
break;
case "images": //图片上传
goto case "single-text";
case "video": //视频上传
goto case "single-text";
case "number": //数字
goto case "single-text";
case "datetime": //时间日期
goto case "single-text";
case "checkbox": //复选框
CheckBox cbControl = FindControl("field_control_" + dr["name"].ToString()) as CheckBox;
if (cbControl != null)
{
if (cbControl.Checked == true)
{
dic.Add(dr["name"].ToString(), "");
}
else
{
dic.Add(dr["name"].ToString(), "");
}
}
break;
case "multi-radio": //多项单选
RadioButtonList rblControl = FindControl("field_control_" + dr["name"].ToString()) as RadioButtonList;
if (rblControl != null)
{
dic.Add(dr["name"].ToString(), rblControl.SelectedValue);
}
break;
case "multi-checkbox": //多项多选
CheckBoxList cblControl = FindControl("field_control_" + dr["name"].ToString()) as CheckBoxList;
if (cblControl != null)
{
StringBuilder tempStr = new StringBuilder();
for (int i = ; i < cblControl.Items.Count; i++)
{
if (cblControl.Items[i].Selected)
{
tempStr.Append(cblControl.Items[i].Value.Replace(',', ',') + ",");
}
}
dic.Add(dr["name"].ToString(), Utils.DelLastComma(tempStr.ToString()));
}
break;
}
}
return dic;
}
#endregion
DTcms 扩展字段标签调用的更多相关文章
- 如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持
需求:扩展字段"微信ID"是我创建出来的extension field,我想用Marketing Cloud提供的contact creation API,在创建contact时也 ...
- dedecms搜索模板,使用{dede:list}标签调用自定义字段不显示(空白)
前几天使用织梦做一个搜索功能,正常使用{dede:list}调用自定义内容模型中的自定义字段,代码如下:(自定义字段的调用可以参考:http://www.dede58.com/a/dedejq/523 ...
- DEDECMS标签调用汇总啊
非常有用的标签调用的方法 关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/ ...
- 使用BAPI_ACC_DOCUMENT_POST,创建会计凭证,用BADI扩展字段(转)
业务需求:和银行做一个接口,要通过银行流水产生会计凭证,会计凭证的事务码是F-02,查到了BAPI方法BAPI_ACC_DOCUMENT_POST.昨天测试发现,有一些参数在BAPI_ACC_DOCU ...
- dede标签调用
关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/}">&l ...
- 使用WCF扩展记录服务调用时间
随笔- 64 文章- 0 评论- 549 真实世界:使用WCF扩展记录服务调用时间 WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Lay ...
- 用Dedecms5.7的arclist标签调用文章内容
arclist标签调用文章内容 首先大家都知道在Dedecms中,list标签是可以调用文章内容的,调用格式就不再此冗述了.从我个人来说,我非常不喜欢用list标签调用,有可能我会尽量使用arclis ...
- dedecms利用memberlist标签调用自定义会员模型的会员信息
[摘要]本文讲一下dedecms如何利用memberlist标签调用自定义会员模型的会员信息. dedecms利用memberlist标签调用自定义会员模型的会员信息,这个问题找了很久,官方论坛提问过 ...
- golang自定义struct字段标签
原文链接: https://sosedoff.com/2016/07/16/golang-struct-tags.html struct是golang中最常使用的变量类型之一,几乎每个地方都有使用,从 ...
随机推荐
- oc-06-无参方法的调用
// 12-[掌握]无参方法声明实现及调用 #import <Foundation/Foundation.h> //类的声明 @interface Person : NSObject { ...
- c高级编程4 LD_DEBUG
[root@monitor ~]# LD_DEBUG=help ls Valid options for the LD_DEBUG environment variable are: libs dis ...
- MYSQL内存--------启动mysql缓存机制,实现命中率100% 转
虽然这个标题夸张得过了头,但此文很完整,值得学习.转自 http://www.yy520.net/read.php?278 myql优化,启动MySQL缓存机制,实现命中率100% 配置你的mysql ...
- /proc/sysrq-trigger详解
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://itnihao.blog.51cto.com/1741976/830374 htt ...
- 面向对象设计原则OO
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator ...
- 装饰者模式--《Head First DesignPattern》
装饰者模式动态地将责任附加到对象杭,若要拓展功能,装设置提供了比继承更有弹性的替代方案. 星巴兹有多种咖啡,它们具有不同的价格.在购买咖啡时,也可以要求在其中加入各种调料,例如豆浆.摩卡.奶泡等等.需 ...
- [Java] 多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)
比较Java原生的 3种Map的效率. 1. TreeMap 2. HashMap 3. ConcurrentSkipListMap 结果: 模拟150W以内海量数据的插入和查找,通过增加和查找 ...
- vsftp安装与配置
配置参考:https://help.aliyun.com/knowledge_detail/5973912.html?spm=5176.776701992.0.0.3X2PB8 553 Could n ...
- 虚拟机中Ubuntu设置固定IP方法
--2013年7月29日20:39:16 场景:在搭建hadoop分布式系统的时候,每次重启节点,节点对应的ip发生变化,现在需要将每个节点绑固定的ip --原理: 设置节点用的网卡->绑定ip ...
- 关于JDK中采用单例模式的类
JDK设计模式应用——单例模式(Singleton) <JDK源码分析>的分支,讲解设计模式在jdk中使用. 我们从三个方面讲述,一是:jdk源码中的设计模式:二是:讲解设计模式(UML图 ...