日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

『飞秋』Html.Label的缺陷及补救办法

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 『飞秋』Html.Label的缺陷及补救办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在最近開發的項目中,應用了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的缺陷及补救办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。