• DTcms 扩展字段标签调用


    前台模版:

        文章列表:{dr[author]}

        文章内容{model.fields[author]} 点击数

    后台CS文件:model.fields["author"].ToString()

    赋值

     Dictionary<string, string> dic = new Dictionary<string, string>();
                dic.Add("good", "1");
                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[0];
                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(), "1");
                                }
                                else
                                {
                                    dic.Add(dr["name"].ToString(), "0");
                                }
                            }
                            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 = 0; 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
  • 相关阅读:
    Bootstrap3.0学习第八轮(工具Class)
    dependencies与dependencyManagement的区别
    灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断
    Linux平台安装MongoDB
    ubuntu 该软件包现在的状态极为不妥 error
    oracle vm突然黑屏了
    Oracle VM VirtualBox各种显示模式切换 热键
    where后一个条件和多个条件的查询速度
    String特殊值的判断方式
    将中文标点符号替换成英文标点符号
  • 原文地址:https://www.cnblogs.com/qigege/p/4970036.html
Copyright © 2020-2023  润新知