AceAdmin In MVC之控件

  AceAdmin有很多Html控件,而下载下来之后全部混杂在一起,想用一个控件有时得调整半天,干脆整理出一个版本,而且结合起来MVC的封装。以后就不用一个js css的调了。

  在MVC中Html的控件有两种,一个带for一个不带for。

  @Html.TextArea:直接输出一个文本框,可以自定义输出任何内容。

  @Html.TextAreaFor:输出绑定Model的文本框。

一、下拉框

  1、基本示例

  视图:

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>下拉框 - Ace Admin</title>
    @* 这个控制宽度(只是控制div的) *@
    <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
    
    @* 以下两个对下拉框的样式有影响 *@
    <link rel="stylesheet" href="/assets/css/chosen.css" />
    <link rel="stylesheet" href="/assets/css/ace.min.css" />
   <link rel="stylesheet"
href="/assets/css/css.css"/>
    <link rel="stylesheet" href="/assets/css/font-awesome.min.css" />

    <script src="/Scripts/jquery_2_1_0_min.js"></script>
    <!--[if IE]>
        <script src="/Scripts/jquery_1_11_0_min.js"></script>
    <![endif]-->
    <script src="/assets/js/chosen.jquery.min.js"></script>

    <script type="text/javascript">
        $(function ($) {
            $('.chosen-select').chosen({ allow_single_deselect: true });
            //窗口大小改变时,下拉框跟着缩放
            $(window).on('resize.chosen', function () {
                var w = $('.chosen-select').parent().width();
                $('.chosen-select').next().css({ 'width': w });
            }).trigger('resize.chosen');
        });
    </script>
</head>

<body>
    <div class="modal-body">
        <div class="row">
            <div class="col-xs-12 col-sm-4">
                <!-- Html示例 -->
                <select class="chosen-select" name="Hero" data-placeholder="请选择英雄...">
                    <option value=""></option>    <!-- 默认的Text里不要放东西,否则不会选择(请选择) -->
                    <option value="1">刘备</option>
                    <option value="2">关羽</option>
                    <option value="3">张飞</option>
                </select>

                <div class="space-4"></div>

                <!-- MVC版示例 -->
                @*对于AceAdmin很多-,在MVC中要用_代替*@
     @Html.DropDownList("SelectListItem", null, null, new { @class = "chosen-select", data_placeholder="请选择英雄...", name = "Hero" })
            </div>
        </div>
    </div>
</body>
</html>

  后台:

    public ActionResult HtmlControl()
    {
        List<SelectListItem> SelectListItem = new List<SelectListItem>();
        SelectListItem.Add(new SelectListItem { Text = " ", Value = "" });
        SelectListItem.Add(new SelectListItem { Text = "刘备", Value = "1" });
        SelectListItem.Add(new SelectListItem { Text = "关羽", Value = "2" });
        SelectListItem.Add(new SelectListItem { Text = "张飞", Value = "3" });
        ViewBag.SelectListItem = SelectListItem;
        return View();
    }

   另外推荐1种创建SelectList的方法,能与ORM工具比较好地结合。

    //模拟数据库查出来的数据
    List<Person> ListPerson = new List<Person>()
    {
        new Person(){ Id = 0, Name=" " },
        new Person(){ Id = 1, Name="刘备" },
        new Person(){ Id = 2, Name="关羽" },
        new Person(){ Id = 3, Name="张飞" }
    };
    SelectList ListItem = new SelectList(ListPerson, "Id", "Name");  //还有第四个参数是默认选定的值
    ViewBag.SelectListItem = ListItem;

   如果是用SelectListItem,那么要配合Linq的Select()方法查出Text与Value

  IEnumerable<SelectListItem> items = ListPerson.Select(item => new SelectListItem { Value = item.Id.ToString(), Text = item.Name });

  2、多选

  如果是多选,只需要添加一个属性就OK了,其他完全一样:multiple="multiple"

  3、搜索框

  class="form-control"与class = "chosen-select"的区别就在于有没有搜索框。

二、文本框

  文本框的示例也有很多种:

  • 普通文本框
  • 最长文本框
  • 密码
  • readonly
  • disabled
  • 可控大小
  • 可控长度
  • 带图标文本框
  • 带提示文本框
  • Tab标签文本框(用到的Js最多,而且又不支持IE,不好用的东西)
@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>文本框 - Ace Admin</title>
    <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
    <link href="/assets/css/font-awesome.min.css" rel="stylesheet" />
    <link href="/assets/css/css.css" rel="stylesheet" />
    <link rel="stylesheet" href="/assets/css/ace.min.css" />
    <!-- 可拖动控制长度的文本框的按钮 -->
    <link rel="stylesheet" href="/assets/css/jquery-ui.custom.min.css" />
</head>

<body>
    <div class="row">
        <div class="col-xs-12">
            <form class="form-horizontal" role="form">
                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-1"> Text Field </label>

                    <div class="col-sm-9">
                        <input type="text" id="form-field-1" placeholder="Username" class="col-xs-10 col-sm-5" />
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-1-1"> Full Length </label>

                    <div class="col-sm-9">
                        <input type="text" id="form-field-1-1" placeholder="Text Field" class="form-control" />
                    </div>
                </div>

                <div class="space-4"></div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-2"> Password Field </label>

                    <div class="col-sm-9">
                        <input type="password" id="form-field-2" placeholder="Password" class="col-xs-10 col-sm-5" />
                        <span class="help-inline col-xs-12 col-sm-7">
                            <span class="middle">Inline help text</span>
                        </span>
                    </div>
                </div>

                <div class="space-4"></div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-input-readonly"> Readonly field </label>

                    <div class="col-sm-9">
                        <input readonly="" type="text" class="col-xs-10 col-sm-5" id="form-input-readonly" value="This text field is readonly!" />
                        <span class="help-inline col-xs-12 col-sm-7">
                            <label class="middle">
                                <input class="ace" type="checkbox" id="id-disable-check" />
                                <span class="lbl"> Disable it!</span>
                            </label>
                        </span>
                    </div>
                </div>

                <div class="space-4"></div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-4">Relative Sizing</label>

                    <div class="col-sm-9">
                        <input class="input-sm" type="text" id="form-field-4" placeholder=".input-sm" />
                        <div class="space-2"></div>

                        <div class="help-block" id="input-size-slider"></div>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-5">Grid Sizing</label>

                    <div class="col-sm-9">
                        <div class="clearfix">
                            <input class="col-xs-1" type="text" id="form-field-5" placeholder=".col-xs-1" />
                        </div>

                        <div class="space-2"></div>

                        <div class="help-block" id="input-span-slider"></div>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right">Input with Icon</label>

                    <div class="col-sm-9">
                        <span class="input-icon">
                            <input type="text" id="form-field-icon-1" />
                            <i class="ace-icon fa fa-leaf blue"></i>
                        </span>

                        <span class="input-icon input-icon-right">
                            <input type="text" id="form-field-icon-2" />
                            <i class="ace-icon fa fa-leaf green"></i>
                        </span>
                    </div>
                </div>

                <div class="space-4"></div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-6">Tooltip and help button</label>

                    <div class="col-sm-9">
                        <input data-rel="tooltip" type="text" id="form-field-6" placeholder="Tooltip on hover" title="Hello Tooltip!" data-placement="bottom" />
                        <span class="help-button" data-rel="popover" data-trigger="hover" data-placement="left" data-content="More details." title="Popover on hover">?</span>
                    </div>
                </div>

                <div class="space-4"></div>

                <div class="form-group">
                    <label class="col-sm-3 control-label no-padding-right" for="form-field-tags">Tag input</label>

                    <div class="col-sm-9">
                        <div class="inline">
                            <input type="text" name="tags" id="form-field-tags" value="Tag Input Control" placeholder="Enter tags ..." />
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>

    <script src="/Scripts/jquery_2_1_0_min.js"></script>

    <script type="text/javascript">
        window.jQuery || document.write("<script src='/assets/js/jquery.min.js'>" + "<" + "/script>");
    </script>

    @* Tag文本框(Taq需要用到特别多的js) *@
    <script src="/Scripts/bootstrap.min.js"></script>
    <script src="/assets/js/bootstrap-tag.min.js"></script>
    <script src="/assets/js/jquery.knob.min.js"></script>
    <script src="/assets/js/jquery.autosize.min.js"></script>
    <script src="/assets/js/jquery.inputlimiter.1.3.1.min.js"></script>
    <script src="/assets/js/jquery.maskedinput.min.js"></script>
    <script src="/assets/js/bootstrap-colorpicker.min.js"></script>
    <script src="/assets/js/jquery-ui.custom.min.js"></script>
    <script src="/assets/js/jquery.ui.touch-punch.min.js"></script>
    <script src="/assets/js/chosen.jquery.min.js"></script>
    <script src="/assets/js/fuelux/fuelux.spinner.min.js"></script>
    <script src="/assets/js/date-time/bootstrap-datepicker.min.js"></script>
    <script src="/assets/js/date-time/bootstrap-timepicker.min.js"></script>
    <script src="/assets/js/date-time/moment.min.js"></script>
    <script src="/assets/js/date-time/daterangepicker.min.js"></script>
    <script src="/assets/js/date-time/bootstrap-datetimepicker.min.js"></script>
    <script src="/assets/js/ace.min.js"></script>
    <script src="/assets/js/ace-elements.min.js"></script>
    @* Tag文本框 *@


    <script type="text/javascript">
    $(function ($) {
        @* Disable it!点击时 *@
        $('#id-disable-check').on('click', function () {
            var inp = $('#form-input-readonly').get(0);
            if (inp.hasAttribute('disabled')) {
                inp.setAttribute('readonly', 'true');
                inp.removeAttribute('disabled');
                inp.value = "This text field is readonly!";
            }
            else {
                inp.setAttribute('disabled', 'disabled');
                inp.removeAttribute('readonly');
                inp.value = "This text field is disabled!";
            }
        });

        @* 带提示的文本框生效 *@
        $('[data-rel=tooltip]').tooltip({ container: 'body' });
        $('[data-rel=popover]').popover({ container: 'body' });

        @* 拖动条控制文本框大小 *@
        $("#input-size-slider").css('width', '200px').slider({
            value: 1,
            range: "min",
            min: 1,
            max: 8,
            step: 1,
            slide: function (event, ui) {
                var sizing = ['', 'input-sm', 'input-lg', 'input-mini', 'input-small', 'input-medium', 'input-large', 'input-xlarge', 'input-xxlarge'];
                var val = parseInt(ui.value);
                $('#form-field-4').attr('class', sizing[val]).val('.' + sizing[val]);
            }
        });

        @* 拖动条控制文本框长度 *@
        $("#input-span-slider").slider({
            value: 1,
            range: "min",
            min: 1,
            max: 12,
            step: 1,
            slide: function (event, ui) {
                var val = parseInt(ui.value);
                $('#form-field-5').attr('class', 'col-xs-' + val).val('.col-xs-' + val);
            }
        });

        @* Tag文本框(Taq需要用到特别多的js) *@
        var tag_input = $('#form-field-tags');
        try {
            tag_input.tag(
              {
                  placeholder: tag_input.attr('placeholder'),
                  //enable typeahead by specifying the source array
                  source: ace.vars['US_STATES'],//defined in ace.js >> ace.enable_search_ahead
                  /**
                //从Web后台读取数据的写法
                source: function(query, process) {
                  $.ajax({url: 'remote_source.php?q='+encodeURIComponent(query)})
                  .done(function(result_items){
                    process(result_items);
                  });
                }
                */
              }
            );

            //编程的方式添加一个项
            var $tag_obj = $('#form-field-tags').data('tag');
            $tag_obj.add('Programmatically Added');
        }
        catch (e) {
            //旧IE版本兼容
            tag_input.after('<textarea id="' + tag_input.attr('id') + '" name="' + tag_input.attr('name') + '" rows="3">' + tag_input.val() + '</textarea>').remove();
            //$('#form-field-tags').autosize({append: "\n"});
        }
    });
    </script>
</body>
</html>

 

三、TextArea

  TextArea在AceAdmin里多了两个比较特别的功能。

  1、限制输入字符数

  class="form-control limited" maxlength="50"

  2、自适应高度,输入越多高度自动增长

  class="autosize-transition form-control"

  3、默认文本

  placeholder="默认显示出来的文本"

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>TextArea - Ace Admin</title>
    <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
    <link rel="stylesheet" href="/assets/css/ace.min.css" />
</head>

<body class="no-skin">
    
    <div class="col-sm-4">
        <div class="widget-body">
            <div class="widget-main">
                <div>
                    <textarea class="form-control" id="form-field-8" placeholder="Default Text"></textarea>
                </div>
                <hr />
                <div>
                    <textarea class="form-control limited" id="form-field-9" maxlength="50"></textarea>
                </div>
                <hr />
                <div>
                    @Html.TextArea("text", "你在他想还好吗", new { @class = "form-control limited", maxlength = "20" })
                </div>
                <hr />
                <div>
                    <textarea id="form-field-11" class="autosize-transition form-control"></textarea>
                    
                </div>
            </div>
        </div>
    </div>

    @* TextArea用到的js *@
    <script src="/Scripts/jquery_2_1_0_min.js"></script>
    <script src="/Scripts/bootstrap.min.js"></script>
    <script src="/assets/js/chosen.jquery.min.js"></script>
    <script src="/assets/js/jquery.autosize.min.js"></script>
    <script src="/assets/js/jquery.inputlimiter.1.3.1.min.js"></script>
    <script src="/assets/js/jquery.maskedinput.min.js"></script>

    <!-- inline scripts related to this page -->
    <script type="text/javascript">
        $(function ($) {
            $('textarea[class*=autosize]').autosize({ append: "\n" });
            $('textarea.limited').inputlimiter({
                remText: '%n character%s remaining...',
                limitText: 'max allowed : %n.'
            });
        });
    </script>
</body>
</html>

 

四、限制格式的文本框

  主要是由jQuery.maskedinput插件实现。

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Form Elements - Ace Admin</title>

    <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />

    <link rel="stylesheet" href="/assets/css/ace.min.css" />
    <link rel="stylesheet" href="/assets/css/font-awesome.min.css" />
    <link href="/assets/css/css.css" rel="stylesheet" />

    <script src="/Scripts/jquery_2_1_0_min.js"></script>
    <script src="/assets/js/jquery.maskedinput.min.js"></script>
    <script src="/assets/js/ace.min.js"></script>
    <script src="/assets/js/ace-elements.min.js"></script>
    <script type="text/javascript">
        $(function ($) {
            $.mask.definitions['~'] = '[+-]';
            $('.input-mask-date').mask('9999/99/99');
            $('.input-mask-phone').mask('(999) 9999999');
            $('.input-mask-eyescript').mask('~9.99 ~9.99 999');
            $(".input-mask-product").mask("a*-999-a999", { placeholder: " ", completed: function () { alert("You typed the following: " + this.val()); } });
        });
    </script>

</head>

<body class="no-skin">
    <div class="col-xs-12 col-sm-4">
        <div class="widget-box">
            <div class="widget-header">
                <h4 class="widget-title">限制格式输入框</h4>

                <span class="widget-toolbar">
                    <a href="#" data-action="settings">
                        <i class="ace-icon fa fa-cog"></i>
                    </a>

                    <a href="#" data-action="reload">
                        <i class="ace-icon fa fa-refresh"></i>
                    </a>

                    <a href="#" data-action="collapse">
                        <i class="ace-icon fa fa-chevron-up"></i>
                    </a>

                    <a href="#" data-action="close">
                        <i class="ace-icon fa fa-times"></i>
                    </a>
                </span>
            </div>

            <div class="widget-body">
                <div class="widget-main">
                    <div>
                        <label for="form-field-mask-1">
                            日期
                            <small class="text-success">9999/99/99</small>
                        </label>

                        <div class="input-group">
                            <input class="form-control input-mask-date" type="text" id="form-field-mask-1" />
                            <span class="input-group-btn">
                                <button class="btn btn-sm btn-default" type="button">
                                    <i class="ace-icon fa fa-calendar bigger-110"></i>
                                    Go!
                                </button>
                            </span>
                            @Html.TextBox("date", "2014-12-12", new { @class = "form-control input-mask-date" })
                            <span class="input-group-btn">
                                <button class="btn btn-sm btn-default" type="button">
                                    <i class="ace-icon fa fa-calendar bigger-110"></i>
                                    Go!
                                </button>
                            </span>
                        </div>
                    </div>

                    <hr />
                    <div>
                        <label for="form-field-mask-2">
                            电话
                            <small class="text-warning">(999) 9999999</small>
                        </label>

                        <div class="input-group">
                            <span class="input-group-addon">
                                <i class="ace-icon fa fa-phone"></i>
                            </span>

                            <input class="form-control input-mask-phone" type="text" id="form-field-mask-2" />
                        </div>
                    </div>

                    <hr />
                    <div>
                        <label for="form-field-mask-3">
                            密钥
                            <small class="text-error">a*-999-a999</small>
                        </label>

                        <div class="input-group">
                            <input class="form-control input-mask-product" type="text" id="form-field-mask-3" />
                            <span class="input-group-addon">
                                <i class="ace-icon fa fa-key"></i>
                            </span>
                        </div>
                    </div>

                    <hr />
                    <div>
                        <label for="form-field-mask-4">
                            Eye Script
                            <small class="text-info">~9.99 ~9.99 999</small>
                        </label>

                        <div>
                            <input class="input-medium input-mask-eyescript" type="text" id="form-field-mask-4" />
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

 

五、CheckBox与Radio与CheckBox实现的开关

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>CheckBox与Radio与开关 - Ace Admin</title>

    <link href="/assets/css/bootstrap.min.css" rel="stylesheet" />
    <link href="/assets/css/font-awesome.min.css" rel="stylesheet" />
    <link href="/assets/css/css.css" rel="stylesheet" />
    <link href="/assets/css/ace.min.css" rel="stylesheet" />

    <script src="/Scripts/jquery_2_1_0_min.js"></script>
    <script type="text/javascript">
        $(function ($) {
            $('#chosen-multiple-style').on('click', function (e) {
                var target = $(e.target).find('input[type=radio]');
                var which = parseInt(target.val());
                if (which == 2) $('#form-field-select-4').addClass('tag-input-style');
                else $('#form-field-select-4').removeClass('tag-input-style');
            });
        });
    </script>
</head>

<body class="no-skin">
    <div class="row">
        <div class="col-xs-12 col-sm-5">
            <div class="control-group">
                <label class="control-label bolder blue">Checkbox</label>

                <div class="checkbox">
                    <label>
                        <input name="form-field-checkbox" type="checkbox" class="ace" />
                        <span class="lbl"> choice 1</span>
                    </label>
                </div>

                <div class="checkbox">
                    <label>
                        <input name="form-field-checkbox" class="ace ace-checkbox-2" type="checkbox" />
                        <span class="lbl"> choice 2</span>
                    </label>
                </div>

                <div class="checkbox">
                    <label class="block">
                        <input name="form-field-checkbox" disabled="" type="checkbox" class="ace" />
                        <span class="lbl"> disabled</span>
                    </label>
                </div>
            </div>
        </div>

        <div class="col-xs-12 col-sm-6">
            <div class="control-group">
                <label class="control-label bolder blue">Radio</label>

                <div class="radio">
                    <label>
                        <input name="form-field-radio" type="radio" class="ace" />
                        <span class="lbl"> radio option 1</span>
                    </label>
                </div>

                <div class="radio">
                    <label>
                        <input name="form-field-radio" type="radio" class="ace" />
                        <span class="lbl"> radio option 2</span>
                    </label>
                </div>

                <div class="radio">
                    <label>
                        <input disabled="" name="form-field-radio" type="radio" class="ace" />
                        <span class="lbl"> disabled</span>
                    </label>
                </div>
            </div>
        </div>
    </div>
    <hr />
    <div class="form-group">
        <label class="control-label col-xs-12 col-sm-3">开关控制</label>
        <div class="controls col-xs-12 col-sm-9">
            <div class="row">
                <div class="col-xs-3">
                    <label>
                        <input name="switch-field-1" class="ace ace-switch ace-switch-3" type="checkbox" />
                        <span class="lbl"></span>
                    </label>
                </div>

            </div>
        </div>
    </div>
</body>
</html>

  CheckBox当选中时默认提交的值为"On",如果选中的CheckBox提交true,则可以增加一个value="true",可以这样写:

<input name="IsTop" type="checkbox" class="ace" value="true">

 

六、日期选择控件

  日期控件主要用DateTime Picker来实现

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>日期选择控件 - Ace Admin</title>

    <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
    <link href="/assets/css/font-awesome.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="/assets/css/datepicker.css" />
    <link rel="stylesheet" href="/assets/css/bootstrap-timepicker.css" />
    <link rel="stylesheet" href="/assets/css/daterangepicker.css" />
    <link rel="stylesheet" href="/assets/css/bootstrap-datetimepicker.css" />
    <link href="/assets/css/css.css" rel="stylesheet" />
    <link href="/assets/css/ace.min.css" rel="stylesheet" />

    <script src="/assets/js/ace-extra.min.js"></script>
    <script src="/Scripts/jquery_2_1_0_min.js"></script>
    <script src="/assets/js/date-time/bootstrap-datepicker.min.js"></script>
    <script src="/assets/js/date-time/bootstrap-timepicker.min.js"></script>
    <script src="/assets/js/date-time/moment.min.js"></script>
    <script src="/assets/js/date-time/daterangepicker.min.js"></script>
    <script src="/assets/js/date-time/bootstrap-datetimepicker.min.js"></script>

    <script type="text/javascript">
        $(function ($) {
            $('.date-picker').datepicker({
                autoclose: true,
                todayHighlight: true
            })

            .next().on(ace.click_event, function () {
                $(this).prev().focus();
            });

            $('.input-daterange').datepicker({ autoclose: true });

            $('input[name=date-range-picker]').daterangepicker({
                'applyClass': 'btn-sm btn-success',
                'cancelClass': 'btn-sm btn-default',
                locale: {
                    applyLabel: 'Apply',
                    cancelLabel: 'Cancel',
                }
            })
            .prev().on(ace.click_event, function () {
                $(this).next().focus();
            });

            $('#timepicker1').timepicker({
                minuteStep: 1,
                showSeconds: true,
                showMeridian: false
            }).next().on(ace.click_event, function () {
                $(this).prev().focus();
            });

            $('#date-timepicker1').datetimepicker().next().on(ace.click_event, function () {
                $(this).prev().focus();
            });
        });
    </script>

</head>

<body class="no-skin">

    <div class="col-sm-4">
        <div class="widget-box">
            <div class="widget-header">
                <h4 class="widget-title">日期选择</h4>

                <span class="widget-toolbar">
                    <a href="#" data-action="settings">
                        <i class="ace-icon fa fa-cog"></i>
                    </a>

                    <a href="#" data-action="reload">
                        <i class="ace-icon fa fa-refresh"></i>
                    </a>

                    <a href="#" data-action="collapse">
                        <i class="ace-icon fa fa-chevron-up"></i>
                    </a>

                    <a href="#" data-action="close">
                        <i class="ace-icon fa fa-times"></i>
                    </a>
                </span>
            </div>

            <div class="widget-body">
                <div class="widget-main">
                    <label for="id-date-picker-1">日期选择</label>

                    <div class="row">
                        <div class="col-xs-8 col-sm-11">
                            <div class="input-group">
                                <input class="form-control date-picker" id="id-date-picker-1" type="text" data-date-format="dd-mm-yyyy" />
                                <span class="input-group-addon">
                                    <i class="fa fa-calendar bigger-110"></i>
                                </span>
                            </div>

                            <div class="input-group">
                                @Html.TextBox("Pick", DateTime.Now.ToString("yyyy-MM-dd"), new { @class = "form-control date-picker", data_date_format = "yyyy-mm-dd" })
                                <span class="input-group-addon">
                                    <i class="fa fa-calendar bigger-110"></i>
                                </span>
                            </div>
                        </div>
                    </div>

                    <div class="space space-8"></div>
                    <label>范围选择</label>

                    <div class="row">
                        <div class="col-xs-8 col-sm-11">
                            <div class="input-daterange input-group">
                                <input type="text" class="input-sm form-control" name="start" />
                                <span class="input-group-addon">
                                    <i class="fa fa-exchange"></i>
                                </span>

                                <input type="text" class="input-sm form-control" name="end" />
                            </div>
                        </div>
                    </div>

                    <hr />
                    <label for="id-date-range-picker-1">日期范围选择</label>

                    <div class="row">
                        <div class="col-xs-8 col-sm-11">
                            <div class="input-group">
                                <span class="input-group-addon">
                                    <i class="fa fa-calendar bigger-110"></i>
                                </span>

                                <input class="form-control" type="text" name="date-range-picker" id="id-date-range-picker-1" />
                            </div>
                        </div>
                    </div>

                    <hr />
                    <label for="timepicker1">时间选择</label>

                    <div class="input-group bootstrap-timepicker">
                        <input id="timepicker1" type="text" class="form-control" />
                        <span class="input-group-addon">
                            <i class="fa fa-clock-o bigger-110"></i>
                        </span>
                    </div>

                    <hr />
                    <label for="date-timepicker1">日期-时间选择</label>

                    <div class="input-group">
                        <input id="date-timepicker1" type="text" class="form-control" />
                        <span class="input-group-addon">
                            <i class="fa fa-clock-o bigger-110"></i>
                        </span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

 

七、上传控件

  上传控件好像很强大,可以不上传先获取文件名了,具体怎么实现的还不是很清楚。

@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>文本上传框 - Ace Admin</title>
    <link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
    <link href="/assets/css/font-awesome.min.css" rel="stylesheet" />
    <link href="/assets/css/css.css" rel="stylesheet" />
    <link rel="stylesheet" href="/assets/css/ace.min.css" />

    <script src="/assets/js/ace-extra.min.js"></script>
    <script src="/Scripts/jquery_2_1_0_min.js"></script>
    <script src="/assets/js/ace-elements.min.js"></script>
    <script type="text/javascript">
        $(function ($) {

            $('#id-input-file-1 , #id-input-file-2').ace_file_input({
                no_file: '暂无文件 ...',
                btn_choose: 'Choose',
                btn_change: 'Change',
                droppable: false,
                onchange: null,
                thumbnail: false
            });

            $('#id-input-file-3').ace_file_input({
                style: 'well',
                btn_choose: 'Drop files here or click to choose',
                btn_change: null,
                no_icon: 'ace-icon fa fa-cloud-upload',
                droppable: true,
                thumbnail: 'small'
                ,
                preview_error: function (filename, error_code) {

                }

            }).on('change', function () {

            });

            $('#id-file-format').removeAttr('checked').on('change', function () {
                var whitelist_ext, whitelist_mime;
                var btn_choose
                var no_icon
                if (this.checked) {
                    btn_choose = "Drop images here or click to choose";
                    no_icon = "ace-icon fa fa-picture-o";

                    whitelist_ext = ["jpeg", "jpg", "png", "gif", "bmp"];
                    whitelist_mime = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];
                }
                else {
                    btn_choose = "Drop files here or click to choose";
                    no_icon = "ace-icon fa fa-cloud-upload";

                    whitelist_ext = null;
                    whitelist_mime = null;
                }
                var file_input = $('#id-input-file-3');
                file_input
                .ace_file_input('update_settings',
                {
                    'btn_choose': btn_choose,
                    'no_icon': no_icon,
                    'allowExt': whitelist_ext,
                    'allowMime': whitelist_mime
                })
                file_input.ace_file_input('reset_input');

                file_input
                .off('file.error.ace')
                .on('file.error.ace', function (e, info) {
                });

            });

        });
    </script>
</head>

<body class="no-skin">
    <div class="widget-box col-xs-6">
        <div class="widget-header">
            <h4 class="widget-title">上传文本框</h4>
            <div class="widget-toolbar">
                <a href="#" data-action="collapse">
                    <i class="ace-icon fa fa-chevron-up"></i>
                </a>
                <a href="#" data-action="close">
                    <i class="ace-icon fa fa-times"></i>
                </a>
            </div>
        </div>

        <div class="widget-body">
            <div class="widget-main">
                <div class="form-group">
                    <div class="col-xs-12">
                        <input type="file" id="id-input-file-2" />
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-xs-12">
                        <input multiple="" type="file" id="id-input-file-3" />
                    </div>
                </div>

                <label>
                    <input type="checkbox" name="file-format" id="id-file-format" class="ace" />
                    <span class="lbl"> 只允许图片</span>
                </label>
            </div>
        </div>
    </div>
</body>
</html>

 

posted on 2014-11-25 11:10  逆心 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/kissdodog/p/4120508.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很全面的Ace Admin1.3官方文档,包含有最全面的组件及例子,适合急需使用该技术开发的人。 响应式Bootstrap网站后台管理系统模板ace admin,非常不错的轻量级易用的admin后台管理系统,基于Bootstrap3,拥有强大的功能组件以及UI组件,基本能满足后台管理系统的需求,而且能根据不同设备适配显示,而且还有四个主题可以切换。 网页图标全采用FontAwesome,除Bootstrap,jQuery UI使用到的第三方插件有: jQuery 2.0.3 jQuery UI 1.10.3 (Custom Build) Twitter Bootstrap 3.0.0 FontAwesome 3.2.1 Google "Open Sans" Font jQuery Flot Charts 0.8.1 jQuery Sparklines 2.1.2 Easy Pie Chart 1.2.5 jQuery Knob 1.2.0 jQuery Validate 1.11.1 FuelUX 2.3.0 (Spinner & Wizard & Treeview) FullCalendar 1.6.4 jQuery ColorBox 1.4.27 jQuery dataTables 1.9.4 jQuery Chosen 1.0 jQuery Masked Input 1.3.1 jQuery Input Limiter 1.3.1 jQuery AutoSize 1.17.7 Bootstrap Colorpicker Bootstrap Datepicker Bootstrap Timepicker v0.2.3 Bootstrap DateRange Picker 1.2 Bootbox.js 4.0.0 jQuery Gritter 1.7.4 jQuery slimScroll 1.1.1 Spin.js 1.3.0 jQuery UI Touch Punch 0.2.2 Google Code Prettify ExplorerCanvas Mindmup Wysiwyg Editor Toopay Markdown Editor 1.1.4 X-editable 1.4.6 Select2 3.4.2 Bootstrap Tags 2.2.5 jQuery Mobile 1.3.2 (Custom Build) jqGrid 4.5.2 Dropzone.js 3.0 Nestable lists plugin 浏览器兼容: Firefox 5+ Google Chrome 14+ Internet Explorer 8 Internet Explorer 9 Opera 11 Safari 5 Bootstrap兼容: Bootstrap 2.2.x Bootstrap 2.3.x Bootstrap 3.0.x ace admin

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值