前台模版:

    文章列表:{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 扩展字段标签调用的更多相关文章

  1. 如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持

    需求:扩展字段"微信ID"是我创建出来的extension field,我想用Marketing Cloud提供的contact creation API,在创建contact时也 ...

  2. dedecms搜索模板,使用{dede:list}标签调用自定义字段不显示(空白)

    前几天使用织梦做一个搜索功能,正常使用{dede:list}调用自定义内容模型中的自定义字段,代码如下:(自定义字段的调用可以参考:http://www.dede58.com/a/dedejq/523 ...

  3. DEDECMS标签调用汇总啊

    非常有用的标签调用的方法 关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/ ...

  4. 使用BAPI_ACC_DOCUMENT_POST,创建会计凭证,用BADI扩展字段(转)

    业务需求:和银行做一个接口,要通过银行流水产生会计凭证,会计凭证的事务码是F-02,查到了BAPI方法BAPI_ACC_DOCUMENT_POST.昨天测试发现,有一些参数在BAPI_ACC_DOCU ...

  5. dede标签调用

    关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/}">&l ...

  6. 使用WCF扩展记录服务调用时间

    随笔- 64  文章- 0  评论- 549  真实世界:使用WCF扩展记录服务调用时间   WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Lay ...

  7. 用Dedecms5.7的arclist标签调用文章内容

    arclist标签调用文章内容 首先大家都知道在Dedecms中,list标签是可以调用文章内容的,调用格式就不再此冗述了.从我个人来说,我非常不喜欢用list标签调用,有可能我会尽量使用arclis ...

  8. dedecms利用memberlist标签调用自定义会员模型的会员信息

    [摘要]本文讲一下dedecms如何利用memberlist标签调用自定义会员模型的会员信息. dedecms利用memberlist标签调用自定义会员模型的会员信息,这个问题找了很久,官方论坛提问过 ...

  9. golang自定义struct字段标签

    原文链接: https://sosedoff.com/2016/07/16/golang-struct-tags.html struct是golang中最常使用的变量类型之一,几乎每个地方都有使用,从 ...

随机推荐

  1. printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - 输出格式转换函数

    参考:http://blog.sina.com.cn/s/blog_674b5aae0100prv3.html 总览 (SYNOPSIS) #include <stdio.h> int p ...

  2. Python_爬虫3

    正则表达式 在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对 ...

  3. Code the Tree

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2292   Accepted: 878 Description A tree ...

  4. JAVA基础之StringBuilder基础方法

    StringBuilder sb = new StringBulder("kikikiki"); sb.apend("123")    //追加 输出kikik ...

  5. cocos2d-x lua 使用自定义消息EventCustom

    cocos2d-x lua 使用自定义消息EventCustom version: cocos2d-x 3.6 1.发送消息 -- post message -- event将会被传递给消息接收函数, ...

  6. 给jdk写注释系列之jdk1.6容器(4)-HashMap源码解析

    前面了解了jdk容器中的两种List,回忆一下怎么从list中取值(也就是做查询),是通过index索引位置对不对,由于存入list的元素时安装插入顺序存储的,所以index索引也就是插入的次序. M ...

  7. LeetCode 61

    Rotate List Given a list, rotate the list to the right by k places, where k is non-negative. For exa ...

  8. LeetCode 342

    Power of Four Given an integer (signed 32 bits), write a function to check whether it is a power of ...

  9. 关于JDK中的集合总结(三)

    泛型: jdk1.5出现的安全机制. 好处: 1,将运行时期的问题ClassCastException转到了编译时期. 2,避免了强制转换的麻烦. <>:什么时候用?当操作的引用数据类型不 ...

  10. web_find和web_reg_find的用法和区别

    一.web_find()函数 该函数的作用是“在页面中查找相应的内容”,常用参数及含义如下: web_find("web_find", //定义该查找函数的名称 "Rig ...