在最近开发的项目中,应用了Html.LabelFor(TModel)来生成<lable/>标签,同时配合Html.TextBoxFor(TModel)来生成<Input/>标签,效果不错,Html.Label的缺陷及补救办法,生成的飞秋Html标签效果如下:
<label for="UserName">标签内容</label>
<input id="UserName" name="UserName" type="text" value="" />问题产生了:<Lable>标签内容</Lable>准备实现多国语言版本,使用的是Resources文件。但是,Html.LabelFor()方法只支持Model的DisplayName属性:public class User
{
    [DisplayName="标签内容"]
    public string DisplayName { get; set; }
    public string SortName { get; set; }
}问题是DisplayName属性不支持国际化,无法调用Resource中的资源字符串!(此处省略n万字,尝试各种解决方法,就不在此描述了,总之是不成功) 那就换个解决方案吧: <%:Html.Label(Resources.User.Info_State_Header) %> 国际化的问题解决了,但是那个优雅的<label for=”UserName”>属性无法实现了!难道鱼与熊掌不能兼得吗?郁闷啊!强大的Asp.net Mvc 框架不是吹牛皮吹出来的,上飞秋家伙自定义HtmlHelper方法,直接上代码,大家都是高手,我就不解释了: view sourceprint?01 namespace System.Web.Mvc

02 {

03     public static class myHtmlHelper

04     {

05  /// <summary>

06  /// 自定义HtmlHelper Label方法,解决for属性和国际化字符串不能同时解决的问题

07   /// </summary>

08  /// <typeparam name="TModel"></typeparam>

09  /// <typeparam name="TValue"></typeparam>

10  /// <param name="?"></param>

11  /// <param name="expression"></param>

12  /// <param name="DisplayName">要在Label标签中显示的本地化字符串</param>

13  /// <returns></returns>

14  public static MvcHtmlString Label<TModel, TValue>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TValue>> expression, string DisplayName)

15  {

16      string modelName = ExpressionHelper.GetExpressionText(expression);

17      TagBuilder tagBuilder = new TagBuilder("label");

18      tagBuilder.Attributes.Add("for",modelName);

19      tagBuilder.InnerHtml = DisplayName;  //飞秋

20      return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.Normal));

21  }

22     }

23 }
啊,问题消失了,继续干活吧,前面的道路还很长呢。飞秋:http://www.freeeim.com/feiq/

『飞秋』Html.Label的缺陷及补救办法相关推荐

  1. 『飞秋』Windows7新功能体验(1):为Windows 7 Media Center安装网络电视(Internet TV)

    『飞秋』Windows7新功能体验(1):为Windows 7 Media Center安装网络电视(Internet TV) 在Windows 7许多的新功能里,娱乐功能也做了很大的改进: Dire ...

  2. 『飞秋』小项目心得交流

    『飞秋』小项目心得交流 <!--[endif]--> 最近网站首页改版,我负责前台页面的编写,一个很小的任务,从中我却学习到了很多东西,现总结一下 和大家分享一下,希望对大家有用,也希望能 ...

  3. 『飞秋』关于ASP.NET MVC+Repository+Service架构的一些思考

    『飞秋』关于ASP.NET MVC+Repository+Service架构的一些思考 看了一些ASP.NET MVC开源项目后的一些想法,关于ASP.NET MVC+Repository+Servi ...

  4. 『飞秋』在.NET 4中调用GDAL库时遇到的问题及解决方法

    『飞秋』在.NET 4中调用GDAL库时遇到的问题及解决方法 最近需要在.NET 4的环境中调用GDAL库.GDAL本身是一套非托管类库,不过还好提供了用SWIG做的托管的Wrapper. 可以在FW ...

  5. 『飞秋』测试驱动开发TDD系列(二)

    引言 今天我们来做一个TDD的小例子.通过一个栈的实现来体验一下TDD的过程.在本系列的代码示例中,使用VS2010作为IDE工具,NUnit作为测试辅助工具.关于NUnit的使用,在园子中已经有很多 ...

  6. 『飞秋』在ASP.NET服务器端过程中使用WebBrowser的注意事项

    昨天刚刚完成了一个从网页上提取内容的ASP.NET程序.因为目标网页内容比较复杂,所以采用了WebBrowser来代替WebClient. 但是,在本地写好的程序,放到了服务器上就停止工作了,也找不到 ...

  7. 『飞秋』WCF热门问题编程示例

    WCF热门问题编程示例(4):WCF客户端如何异步调用WCF服务? Posted on 2010-08-01 14:28 Frank Xu Lei 阅读(296) 评论(3) 编辑 收藏 所属分类: ...

  8. 今天说说微博中的“飞秋下载”

    微博中的"飞秋下载",所谓的超链接其实也是经过转换后的链接,产生这样链接的原因在于"授权站的同步".在其他OpenEIM中发布一条信息,便会被同步上去.如果反复 ...

  9. 即时通讯的飞秋2010下载

    许多人认为,即时通讯的飞秋2010下载行业其实正处于自己的前所未有的黄金时代,信息产品和衍生物正在加 速渗透到经济和社会生活中,发挥越来越重要的作用.管理学大师德鲁克将飞秋2010下载『飞秋官网』末称 ...

最新文章

  1. dos 一行两条命令
  2. Fragment之一:基本原理
  3. Swift 网络请求数据与解析
  4. python自动化办公 51cto_利用python实现批量自动化运维脚本案例
  5. ContextAttribute类
  6. 电气一次图自适应屏幕,定位精确,无参考代码,只是解决方案,技术科行,已经用于项目
  7. Vue学习计划基础笔记(六) - 组件基础
  8. 药用计算机题目,医用计算机基础_超星尔雅_题库及答案
  9. Q 语言初学者系列:(3)Lists 初级
  10. Word怎么快速插入空白页
  11. Django实现websocket聊天室
  12. 原生 android 手机,享受原汁原味的安卓:七款原生安卓系统手机推荐
  13. 射频电路学习之LC振荡电路
  14. ESP32 深度睡眠模式功耗测试
  15. 用opencv画一个笑脸的图像
  16. recon-ng模块安装与基本使用(国内环境)
  17. Linux命令:ln -s
  18. uni-app学习路线 - 计划
  19. linux创建ps格式文件怎么打开,ps文件扩展名,ps文件怎么打开?
  20. 动漫头像修复高清,提高分辨率、提高清晰度的模型处理

热门文章

  1. 计算机网络有哪些技能知识,网络基础知识及操作技能.ppt
  2. matlab里box office,免费试用Econometrics Toolbox
  3. 对齐方式有那些_Excel基础:开始菜单之对齐方式,那些被遗忘的实用功能
  4. Bulk批量操作API的介绍
  5. B端产品如何做好从1到10的架构搭建?
  6. 2020快手食品行业数据价值报告
  7. 她是如何从传统金融行业转行产品经理的?
  8. wireshark网卡权限_设置网卡属性用wireshark抓VLAN包
  9. GVDS:面向广域高性能计算环境的虚拟数据空间
  10. 作者:杜小勇(1963-),男,中国人民大学信息学院教授,博士生导师。