zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    2019/1/17 break语句小练习
    2019/1/17goto语句小试牛刀
    python 中* 和**的作用
    python 元组编码和解码问题
    python SMTP 发送邮件
    python 自定义异常
    python websocket client 使用
    excel、xls文件读写操作
    windows10局域网实现文件共享
    django入门
  • 原文地址:https://www.cnblogs.com/yingger/p/5402728.html
Copyright © 2011-2022 走看看