当前位置:编程学习 > C#/ASP.NET >>

asp.net MVC2.0下View中的显示配置?

        <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.remark) %>
            </div>
            <div class="editor-field">
                <%: Html.TextBoxFor(model => model.remark) %>
                <%: Html.ValidationMessageFor(model => model.remark) %>
            </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开发中一样,这样可以统一在一个文件里修改,也可以通过修改配置文件换一套标题,如中英文的选择。

有没有哪位高手指点一二。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 没试过,理论上是可以的。
定义一个静态方法,读配置的信息。
类似于:
public static string GetConfigName()
[DisplayName(GetConfigName())]
public string roleName { get; set;}
真没试过,楼主可以试试看 --------------------编程问答-------------------- 这样设置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) %>
--------------------编程问答-------------------- 4楼的方法是一个思路,不过实现这么一个功能要做这么多工作,没有达到方便的初衷,有没有类似struts ApplicationResources.properties 这样的机制,分行写在struts ApplicationResources.properties里面就可以了。

等待。。。。。。 --------------------编程问答-------------------- 没有高人指点一下吗? --------------------编程问答-------------------- 弱弱的问下。。。

<%: %>是什么语法? --------------------编程问答--------------------
引用 7 楼 hrabeyond 的回复:
弱弱的问下。。。

<%: %>是什么语法?

看来你不是搞这个的,asp.net mvc里的标签引用 --------------------编程问答-------------------- 没有人啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,