예제 #1
0
        /// <summary>
        /// 从 DataContext 绑定数据
        /// </summary>
        /// <param name="element">绑定数据的对象</param>
        /// <param name="bindPath">绑定路径</param>
        /// <param name="sourcePath">数据源路径</param>
        /// <param name="format">格式化字符串</param>
        /// <param name="defaultValue">如果找不到数据,所要使用的默认值</param>
        /// <returns></returns>
        public static IHtmlElement DataBind(this IHtmlElement element, string bindPath, string sourcePath, string format, object defaultValue)
        {
            if (sourcePath == null)
            {
                throw new ArgumentNullException("sourcePath");
            }

            if (format == null)
            {
                format = "{0}";
            }

            var context = BindingContext.Current;

            var value = Eval(element.Data(), sourcePath);

            if (value == null)
            {
                value = defaultValue;
            }

            var str = string.Format(format, value);

            BindCore(element, bindPath, str, BindingNullBehavior.Ignore);

            return(element);
        }
예제 #2
0
 /// <summary>
 /// 设置元素上下文
 /// </summary>
 /// <param name="element"></param>
 public void SetContext(IHtmlElement element)
 {
     foreach (var item in Datas)
     {
         element.Data(item.Key, item.Value);
     }
 }