using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace BootstrapExtensions
{
public static class NumberBoxExtensions
{
/// <summary>
/// 生成数字文本框
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <returns>返回数字文本框</returns>
public static MvcHtmlString NumberTextBox(this BootstrapHelper html, string id)
{
return NumberTextBox(html, id, null, null, null, null, null);
}
/// <summary>
/// 生成数字文本框
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">文本框的value值</param>
/// <returns>返回数字文本框</returns>
public static MvcHtmlString NumberTextBox(this BootstrapHelper html, string id, object value)
{
return NumberTextBox(html, id, value, null, null, null, null);
}
/// <summary>
/// 生成数字文本框
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="value">文本框的value值</param>
/// <param name="min">自增长的最小值</param>
/// <param name="max">自增长的最大值</param>
/// <returns>返回数字文本框</returns>
public static MvcHtmlString NumberTextBox(this BootstrapHelper html, object value, int? min, int? max)
{
return NumberTextBox(html, null, value, min, max, null, null);
}
/// <summary>
/// 生成数字文本框
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">文本框的value值</param>
/// <param name="min">自增长的最小值</param>
/// <param name="max">自增长的最大值</param>
/// <returns>返回数字文本框</returns>
public static MvcHtmlString NumberTextBox(this BootstrapHelper html, string id, object value, int? min, int? max)
{
return NumberTextBox(html, id, value, min, max, null, null);
}
/// <summary>
/// 生成数字文本框
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">文本框的value值</param>
/// <param name="min">自增长的最小值</param>
/// <param name="max">自增长的最大值</param>
/// <param name="step">每次自增的数字</param>
/// <returns>返回数字文本框</returns>
public static MvcHtmlString NumberTextBox(this BootstrapHelper html, string id, object value, int? min, int? max, int? step)
{
return NumberTextBox(html, id, value, min, max, step, null);
}
/// <summary>
/// 生成数字文本框
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">文本框的value值</param>
/// <param name="min">自增长的最小值</param>
/// <param name="max">自增长的最大值</param>
/// <param name="step">每次自增的数字</param>
/// <param name="rule">自增规则</param>
/// <returns>返回数字文本框</returns>
public static MvcHtmlString NumberTextBox(this BootstrapHelper html, string id, object value, int? min, int? max, int? step, SpinningRule? rule)
{
TagBuilder tag = new TagBuilder("div");
tag.MergeAttribute("class", "input-group spinner");
tag.MergeAttribute("data-trigger", "spinner");
System.Text.StringBuilder sb = new System.Text.StringBuilder();
//sb.Append("<input type='text' class='form-control text-center' value='1' data-min='-10' data-max='10' data-step='2' data-rule='quantity'>");
sb.Append("<input type='text' class='form-control text-center' ");
if (!string.IsNullOrEmpty(id))
{
sb.Append("id='").Append(id).Append("' ");
}
if (value != null)
{
sb.Append("value='").Append(value.ToString()).Append("' ");
}
else
{
sb.Append("value='1' ");
}
if (min != null)
{
sb.Append("data-min='").Append(min).Append("' ");
}
if (max != null)
{
sb.Append("data-max='").Append(max).Append("' ");
}
if (step != null)
{
sb.Append("data-step='").Append(step).Append("' ");
}
if (rule != null)
{
sb.Append("data-rule='").Append(rule.ToString()).Append("' ");
}
else
{
sb.Append("data-rule='quantity' ");
}
sb.Append("/>");
sb.Append("<span class='input-group-addon'>");
sb.Append("<a href='javascript;;' class='spin-up' data-spin='up'><i class='fa fa-caret-up'></i></a>");
sb.Append("<a href='javascript:;' class='spin-down' data-spin='down'><i class='fa fa-caret-down'></i></a>");
sb.Append("</span>");
tag.InnerHtml = sb.ToString();
return MvcHtmlString.Create(tag.ToString());
}
}
public enum SpinningRule
{
defaults,
currency,
quantity,
percent,
month,
day,
hour,
minute,
second,
}
}
<div class="col-xs-3">
@Bootstrap.DateTimeBox("starttime", null, null, null, null, null, null)
</div>
<div class="col-xs-3">
@Bootstrap.DateTimeBox("endtime", null, null, null, null, null, null)
</div>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace BootstrapExtensions
{
public static class TextareExtensions
{
/// <summary>
/// textarea文本域
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <returns>html标签</returns>
public static MvcHtmlString TextAreaBox(this BootstrapHelper html, string id)
{
return TextAreaBox(html, id, null, null, null, null);
}
/// <summary>
/// textarea文本域
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">value</param>
/// <param name="cssClass">样式</param>
/// <returns>html标签</returns>
public static MvcHtmlString TextAreaBox(this BootstrapHelper html, string id, object value, string cssClass)
{
return TextAreaBox(html, id, value, cssClass, null, null);
}
/// <summary>
/// textarea文本域
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">value</param>
/// <param name="cssClass">样式</param>
/// <param name="rows">行数</param>
/// <returns>html标签</returns>
public static MvcHtmlString TextAreaBox(this BootstrapHelper html, string id, object value, string cssClass, int? rows)
{
return TextAreaBox(html, id, value, cssClass, rows, null);
}
/// <summary>
/// textarea文本域
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">id</param>
/// <param name="value">value</param>
/// <param name="cssClass">样式</param>
/// <param name="rows">行数</param>
/// <param name="cols">列数</param>
/// <returns>html标签</returns>
public static MvcHtmlString TextAreaBox(this BootstrapHelper html, string id, object value, string cssClass, int? rows, int? cols)
{
TagBuilder tag = new TagBuilder("textarea");
tag.AddCssClass("form-control");
if (!string.IsNullOrEmpty(id))
{
tag.MergeAttribute("id", id);
}
if (value != null)
{
tag.MergeAttribute("value", value.ToString());
}
if (!string.IsNullOrEmpty(cssClass))
{
tag.AddCssClass(cssClass);
}
if (rows != null)
{
tag.MergeAttribute("rows", rows.ToString());
}
if (cols != null)
{
tag.MergeAttribute("cols", cols.ToString());
}
return MvcHtmlString.Create(tag.ToString());
}
}
}
<div>
@Bootstrap.TextAreaBox("id", "", "", 3, 5)
</div>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace BootstrapExtensions
{
public static class SelectExtensions
{
/// <summary>
/// 返回select标签
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">标签id</param>
/// <returns>select标签</returns>
public static MvcHtmlString SelectBox(this BootstrapHelper html, string id)
{
return SelectBox(html, id, null, null, null, null, null, null);
}
/// <summary>
/// 返回select标签
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">标签id</param>
/// <param name="value">标签选中值</param>
/// <returns>select标签</returns>
public static MvcHtmlString SelectBox(this BootstrapHelper html, string id, object value)
{
return SelectBox(html, id, value, null, null, null, null, null);
}
/// <summary>
/// 返回select标签
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">标签id</param>
/// <param name="value">标签选中值</param>
/// <param name="cssClass">标签样式</param>
/// <returns>select标签</returns>
public static MvcHtmlString SelectBox(this BootstrapHelper html, string id, object value, string cssClass)
{
return SelectBox(html, id, value, cssClass, null, null, null, null);
}
/// <summary>
/// 返回select标签
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">标签id</param>
/// <param name="value">标签选中值</param>
/// <param name="cssClass">标签样式</param>
/// <param name="url">请求数据的url</param>
/// <param name="textField">显示字段</param>
/// <param name="valueField">值字段</param>
/// <returns>select标签</returns>
public static MvcHtmlString SelectBox(this BootstrapHelper html, string id, object value, string cssClass, string url, string textField, string valueField)
{
return SelectBox(html, id, value, cssClass, url, null, textField, valueField);
}
/// <summary>
/// 返回select标签
/// </summary>
/// <param name="html">扩展方法实例</param>
/// <param name="id">标签id</param>
/// <param name="value">标签选中值</param>
/// <param name="cssClass">标签样式</param>
/// <param name="url">请求数据的url</param>
/// <param name="param">请求的参数</param>
/// <param name="textField">显示字段</param>
/// <param name="valueField">值字段</param>
/// <param name="multiple">是否多选</param>
/// <returns>select标签</returns>
public static MvcHtmlString SelectBox(this BootstrapHelper html, string id, object value, string cssClass, string url, string param, string textField, string valueField, bool multiple = false)
{
TagBuilder tag = new TagBuilder("select");
tag.AddCssClass("form-control");
if (!string.IsNullOrEmpty(id))
{
tag.MergeAttribute("id", id);
}
if (value != null)
{
tag.MergeAttribute("value", value.ToString());
}
if (!string.IsNullOrEmpty(cssClass))
{
tag.AddCssClass(cssClass);
}
if (!string.IsNullOrEmpty(url))
{
tag.MergeAttribute("data-url", url);
}
if (!string.IsNullOrEmpty(param))
{
tag.MergeAttribute("data-param", param);
}
if (!string.IsNullOrEmpty(valueField))
{
tag.MergeAttribute("data-value-field", valueField);
}
if (!string.IsNullOrEmpty(textField))
{
tag.MergeAttribute("data-text-field", textField);
}
if (multiple)
{
tag.MergeAttribute("multiple", "multiple");
}
return MvcHtmlString.Create(tag.ToString());
}
}
}
(function ($) {
//1.定义jquery的扩展方法combobox
$.fn.combobox = function (options, param) {
if (typeof options == 'string') {
return $.fn.combobox.methods[options](this, param);
}
//2.将调用时候传过来的参数和default参数合并
options = $.extend({}, $.fn.combobox.defaults, options || {});
//3.添加默认值
var target = $(this);
target.attr('valuefield', options.valueField);
target.attr('textfield', options.textField);
target.empty();
var option = $('<option></option>');
option.attr('value', '');
option.text(options.placeholder);
target.append(option);
//4.判断用户传过来的参数列表里面是否包含数据data数据集,如果包含,不用发ajax从后台取,否则否送ajax从后台取数据
if (options.data) {
init(target, options.data);
}
else {
//var param = {};
options.onBeforeLoad.call(target, options.param);
if (!options.url) return;
if (typeof options.param == "string") {
options.param = JSON.parse(options.param);
}
$.getJSON(options.url, options.param, function (data) {
init(target, data);
});
}
function init(target, data) {
$.each(data, function (i, item) {
var option = $('<option></option>');
option.attr('value', item[options.valueField]);
option.text(item[options.textField]);
target.append(option);
});
options.onLoadSuccess.call(target);
}
target.unbind("change");
target.on("change", function (e) {
if (options.onChange)
return options.onChange(target.val());
});
}
//5.如果传过来的是字符串,代表调用方法。
$.fn.combobox.methods = {
getValue: function (jq) {
return jq.val();
},
setValue: function (jq, param) {
jq.val(param);
},
load: function (jq, url) {
$.getJSON(url, function (data) {
jq.empty();
var option = $('<option></option>');
option.attr('value', '');
option.text('请选择');
jq.append(option);
$.each(data, function (i, item) {
var option = $('<option></option>');
option.attr('value', item[jq.attr('valuefield')]);
option.text(item[jq.attr('textfield')]);
jq.append(option);
});
});
}
};
//6.默认参数列表
$.fn.combobox.defaults = {
url: null,
param: null,
data: null,
valueField: 'value',
textField: 'text',
placeholder: '请选择',
onBeforeLoad: function (param) { },
onLoadSuccess: function () { },
onChange: function (value) { }
};
//这一段是新加的,在页面初始化完成之后调用初始化方法
$(document).ready(function () {
$('select').each(function () {
var $combobox = $(this);
$.fn.combobox.call($combobox, $combobox.data());
})
});
})(jQuery);
<div class="col-xs-2">
@Bootstrap.SelectBox("sel", null, null, "/Home/GetDept", null, "Name", "Id")
</div>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有