Bootstrap   发布时间:2022-04-18  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了一步一步封装自己的HtmlHelper组件BootstrapHelper(三)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件。和上篇不同的是,这篇的有几个组件需要某些js文件支持

BootstrapHelper系列文章目录

一、numberBoxExtensions

numberBoxExtensions是一个基于bootstrap风格的数字文本框,基于之前博主介绍的自增器数字组件spinner去做的封装,不了解spinner组件的园友可以看看里面介绍的第二个组件。

通过之前的介绍我们知道,自增组件spinner的初始化不需要写任何的js代码,直接通过配置html里面的data属性即可实现它的初始化,这样给我们的封装就带来了很大的方便,我们只需要将常用的初始化参数作为扩展方法的参数传进来,然后在@L_262_10@变成相应的data属性返回到前端。

废话不多说,先将封装的源码摆上来。

stem;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace BootstrapExtensions
{
public static class numberBoxExtensions
{
///


/// 生成数字文本框
///

/// <param name="html">扩展方法实例
/// <param name="id">id
/// 返回数字文本框
public static MvcHtmlString numberTextBox(this BootstrapHelper html,String id)
{
return numberTextBox(html,id,null,null);
}

///


/// 生成数字文本框
///

/// <param name="html">扩展方法实例
/// <param name="id">id
/// <param name="value">文本框的value值
/// 返回数字文本框
public static MvcHtmlString numberTextBox(this BootstrapHelper html,String id,object value)
{
return numberTextBox(html,value,null);
}

///


/// 生成数字文本框
///

/// <param name="html">扩展方法实例
/// <param name="value">文本框的value值
/// <param name="min">自增长的最小值
/// <param name="max">自增长的最大值
/// 返回数字文本框
public static MvcHtmlString numberTextBox(this BootstrapHelper html,object value,int? min,int? maX)
{
return numberTextBox(html,min,max,null);
}

///


/// 生成数字文本框
///

/// <param name="html">扩展方法实例
/// <param name="id">id
/// <param name="value">文本框的value值
/// <param name="min">自增长的最小值
/// <param name="max">自增长的最大值
/// 返回数字文本框
public static MvcHtmlString numberTextBox(this BootstrapHelper html,null);
}

///


/// 生成数字文本框
///

/// <param name="html">扩展方法实例
/// <param name="id">id
/// <param name="value">文本框的value值
/// <param name="min">自增长的最小值
/// <param name="max">自增长的最大值
/// <param name="step">每次自增的数字
/// 返回数字文本框
public static MvcHtmlString numberTextBox(this BootstrapHelper html,int? max,int? step)
{
return numberTextBox(html,step,null);
}

///


/// 生成数字文本框
///

/// <param name="html">扩展方法实例
/// <param name="id">id
/// <param name="value">文本框的value值
/// <param name="min">自增长的最小值
/// <param name="max">自增长的最大值
/// <param name="step">每次自增的数字
/// <param name="rule">自增规则
/// 返回数字文本框
public static MvcHtmlString numberTextBox(this BootstrapHelper html,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("");
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("");
sb.Append("");
sb.Append("");
sb.Append("
");

tag.InnerHtml = sb.ToString();

return MvcHtmlString.Create(tag.ToString());

}
}

public enum SpinningRule
{
defaults,currency,quantity,percent,month,day,hour,minute,second,}
}

大佬总结

以上是大佬教程为你收集整理的一步一步封装自己的HtmlHelper组件BootstrapHelper(三)全部内容,希望文章能够帮你解决一步一步封装自己的HtmlHelper组件BootstrapHelper(三)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。