<fieldset>
            <legend>Fields</legend>
          
            <div class="editor-label">
                <%: Html.LabelFor(model => model.roleName) %>
            </div>
            <div class="editor-field">
                <%: Html.TextBoxFor(model => model.roleName) %>
                <%: Html.ValidationMessageFor(model => model.roleName) %>
            </div>
            
            <div class="editor-label">
                <%: Html.LabelFor(model => model.re) %>
            </div>
            <div class="editor-field">
                <%: Html.TextBoxFor(model => model.re) %>
                <%: Html.ValidationMessageFor(model => model.re) %>
            </div>
            
            <p>
                <input type="submit" value="Create" />
            </p>
        </fieldset>
上面是asp.net mvc2.0 view中的部分代码,<%: Html.LabelFor(model => model.roleName) %>默认显示的是对应表中的数据库字段名,当然也可以在Model里通过DisplayName来设置成中文或其他:
             [DisplayName("角色名:")]
             public string roleName { get; set;}
这样的话如果要做改动必须到model里去改,如果model是通过ado.net自动生成的话更是麻烦;
当然也可以直接在view里写死。
能不能把这些中文的标题统一配置在一个文件里,像jsp开发中一样,这样可以统一在一个文件里修改,也可以通过修改配置文件换一套标题,如中英文的选择。有没有哪位高手指点一二

解决方案 »

  1.   

    没试过,理论上是可以的。
    定义一个静态方法,读配置的信息。
    类似于:
    public static string GetConfigName()
    [DisplayName(GetConfigName())]
    public string roleName { get; set;}
    真没试过,楼主可以试试看
      

  2.   

    这样设置DisplayName应该不行的,要不 就不要用DisplayName,直接读取配置文件(或者 另外 声明一个对应的 名字属性,来 映射配置文件)。 public class Users : ConfigurationSection
        {
            [ConfigurationProperty("roleNameC", IsRequired =false)]
            public string RoleNameC
            {
                get { return (string)this["roleNameC"]; }
                set { this["roleNameC"] = value; }
            }
            public string RoleName
            {
                get;
                set;
            }
        }配置文件    <section name="UserInfo" type="MvcApplication1.Models.Users,MvcApplication1" requirePermission="false"/>
    </configSections>
    <UserInfo roleNameC="管理员"></UserInfo>
    <appSettings/>读取<%=((Users)ConfigurationManager.GetSection("UserInfo")).RoleNameC%>:<%= Html.TextBoxFor(s=>s.RoleName) %>
      

  3.   

    4楼的方法是一个思路,不过实现这么一个功能要做这么多工作,没有达到方便的初衷,有没有类似struts ApplicationResources.properties 这样的机制,分行写在struts ApplicationResources.properties里面就可以了。等待
      

  4.   

    弱弱的问下<%: %>是什么语法?
      

  5.   

    看来你不是搞这个的,asp.net mvc里的标签引用