MVC readioButtonList的创作过程及运用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Linq.Expressions;
using System.Web.Mvc;
using System.Text;
namespace MyJob.Helpers
{
public static class HtmlHelperExt
{
public static MvcHtmlString RadioButtonList(this HtmlHelper helper, string name, IEnumerable<String> items,string selectValue=null,RadioButtonListType type=0)
{
var selectList = new SelectList(items);
return helper.RadioButtonList(name, selectList, selectValue,type);
}
/// <summary>
///
/// </summary>
/// <param name="helper"></param>
/// <param name="name"></param>
/// <param name="items"></param>
/// <param name="type">0:代表水平排列,1:代表垂直方向排列</param>
/// <returns></returns>
public static MvcHtmlString RadioButtonList(this HtmlHelper helper, string name, IEnumerable<SelectListItem> items, string selectValue=null, RadioButtonListType type = 0)
{
var sb = new StringBuilder();
foreach (var item in items)
{
var rbValue = item.Value ?? item.Text;
var rbText = item.Text ?? item.Value;
var rbId = name + "_" + rbValue;
var radioTag = "";
if (String.IsNullOrEmpty(selectValue))
{
if (item.Selected)
radioTag = String.Format("<input name='{0}' id='{1}' checked value='{2}' type='radio'>", name, rbId, rbValue);
else
radioTag = String.Format("<input name='{0}' id='{1}' value='{2}' type='radio'>", name, rbId, rbValue);
}
else {
if (rbValue.Trim() == selectValue.Trim())
radioTag = String.Format("<input name='{0}' id='{1}' checked value='{2}' type='radio'>", name, rbId, rbValue);
else
radioTag = String.Format("<input name='{0}' id='{1}' value='{2}' type='radio'>", name, rbId, rbValue);
}
var labelTag = new TagBuilder("label");
labelTag.MergeAttribute("for", rbId);
labelTag.MergeAttribute("id", rbId + "_label");
labelTag.InnerHtml = rbText;
sb.Append(radioTag.ToString() + labelTag.ToString());
if (type == RadioButtonListType.V) sb.Append("<br/>");
}
return MvcHtmlString.Create(sb.ToString());
}
}
}
调用1
@Html.RadioButtonList(m=>m.UserType,new [] {
new SelectListItem {
Text = "个人",
Value = "Personal",
Selected = true
},
new SelectListItem {
Text = "企业",
Value = "Company"
}
})
调用2
@Html.RadioButtonList(m=>m.UserType,new [] {
new SelectListItem {
Text = "个人",
Value = "Personal",
Selected = true
},
new SelectListItem {
Text = "企业",
Value = "Company"
}
},"个人",0)
其实 复选也一样! checkBoxlist
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!