/// <summary>
        /// 生成输入框的Html
        /// </summary>
        /// <param name="name">WebUploader的名称</param>
        /// <param name="date">WebUploader的值</param>
        /// <returns>html文本</returns>
        private static MvcHtmlString GenerateHtml(this HtmlHelper html, string name, WebUploader model)
        {
            var map = new ViewDataDictionary();

            map["FileUploaderName"] = name;
            return(html.Partial("_WebUploader", model, map));
        }
        /// <summary>
        /// 通过lambda表达式生成控件
        /// </summary>
        /// <param name="helper">HtmlHelper对象</param>
        /// <param name="expression">lambda表达式,指定要显示的属性及其所属对象</param>
        /// <param name="model"></param>
        /// <returns>Html文本</returns>
        public static MvcHtmlString WebUploaderFor <TModel, TProperty>(this HtmlHelper <TModel> helper,
                                                                       Expression <Func <TModel, TProperty> > expression, WebUploader model)
        {
            if (model == null)
            {
                model = new WebUploader();
            }

            string name = ExpressionHelper.GetExpressionText(expression);
            var    val  = ModelMetadata.FromLambdaExpression <TModel, TProperty>(expression, helper.ViewData).Model;

            if (val != null)
            {
                model.Files = val.ToString();
            }

            return(GenerateHtml(helper, name, model));
        }
 /// <summary>
 /// 使用特定的名称和初始值生成控件
 /// </summary>
 /// <param name="helper">HtmlHelper对象</param>
 /// <param name="name">控件名称</param>
 /// <param name="date">要显示的日期时间</param>
 /// <param name="format">显示格式</param>
 /// <returns>Html文本</returns>
 public static MvcHtmlString WebUploader(this HtmlHelper helper, string name, WebUploader model)
 {
     return(GenerateHtml(helper, name, model ?? new WebUploader()));
 }