来自 澳门新葡亰 2019-11-20 12:39 的文章
当前位置: 澳门新葡亰app > 澳门新葡亰 > 正文

【澳门新葡亰官网APP】C#之MVC3继续整理问题

1、注释验证
[EmailAddress(ErrorMessage = "×")],用的MVC3框架,此处报错,找不到类“EmailAddress”,看到原文有using System.ComponentModel.DataAnnotations.Schema;但引用的时候同样报错,using System.ComponentModel.DataAnnotations前面没有错,直到加上Schema后就开始报错了。于是直接改成[RegularExpression(@"(w)+(.w+)*@(w)+((.w+)+)",ErrorMessage = "{0}格式不正确")]
2、new
public new string Password { get; set; }
new,是用来改变一个方法或是一个属性,在其基类中所实现的行为的。 
具体在程序片段中: public new string Password 
Password,是当前派生类的一个 返回string类型的属性,这个属性是继承而来的,如果不想这个属性如其在基类中所定义的那样实现,可以覆写这个属性:public string Password 
注意,上面是没有加new的,这样写没有问题,但是编译器会发出警告(它担心你不小心覆写了基类的Password属性),为了不让编译器发出警告(也表明你的确是想覆写这个属性),你可以加上new,就像这样:public new string Password
如此,编译器就知道,你很清楚,是在覆写该属性,也就不会报警了。
3、/// <summary>

https://msdn.microsoft.com/zh-cn/library/5ast78ax.aspx
    eg:
     /// <summary>
        ///取超连接参数值
        /// </summary>
        /// <param name="i_Parameter">超连接参数名</param>
        /// <param name="i_defValue">当取值为""时设置的默认值</param>
        /// <returns>返回超连接参数值</returns>
        public static string GQ(string i_Parameter, string i_defValue){}

这是一个完整的写法, summary这是指明函数的一些参数说明,在vs软件里当你使用这个函数时,他便会有代码提示的
param里的name就设置成你函数的参数名啦
/// <param name="i_defValue">当取值为""时设置的默认值</param>
这样写便知道在使用哪个参数了,i_defValue对应你下面函数里的一个参数名,当取值为""时设置的默认值是提示内容
4、return default(T)

default 为泛型代码中的默认关键字

给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构时,语句 t = 0 才能正常使用。解决方案是使用 default 关键字,此关键字对于引用类型会返回空,对于数值类型会返回零。对于结构,此关键字将返回初始化为零或空的每个结构成员,具体取决于这些结构是值类型还是引用类型。以下来自 GenericList<T> 类的示例显示了如何使用 default 关键字。
5、@Html.LabelFor
  1.  @Html.LabelFor(model=>mode.Name) 输出:  <label for="Name">Name</label>  
  2. @Html.LabelFor(model=>mode.Name,"姓名") 输出:<label for="name">姓名</label>  
  3. 倘使在上头实体增多[DisplayName("姓名")]特性(援引System.ComponentModel;)则会来得:  
  4. <label for="Name">姓名</label>用于体现汉字很便利  

6、@Html.EditorFor

@Html.EditorFor(mode=>mode.Name)
如若回去的View给Student实体付与值,则输出输出<input class="text-box single-line" id="Name" name="Name" type="text" value="暗中认可值" />不然Value为"";
b、@Html.EditorFor(mode=>mode.Name,"templateName")
其次个参数为模板名称,模版的定义:
第生机勃勃在目录View/Shared/创设文件夹艾德itorTemplates/templateName.cshtml 即:View/Shared/EditorTemplates/templateName.cshtml
注:那不得不用艾德itorTemplates作为文件夹
templateName.cshtml代码为: @Html.DropDownList("",new SelectList(new []{"1","2","3"}))表示多少个值为1,2,3的下拉列表
此时就足以调用@Html.EditorFor(mode=>mode.Name,"templateName"),则展现成三个下拉列表,借使模版中安装的叁个文本框则显得成文本框。
並且,也得以在实业Student中的Name属性加上[UIHint("templateName")]本性假若加上这几个则可在调用的时候不要展现钦赐模版名称
用@Html.EditorFor(mode=>mode.Name)就能够突显成下拉框,同期负有用那么些字段的都将变为下拉列表
相当与Html中的Input控件
@Html.EditorFor(model=>model.Age)
页面展现为:   <input id="Age" name="Age" type="text" value="" />

7、Any和All

bool anyUSA = customers.Any(c = > c.Country == "USA");
LINQ方法Any()把传送给它的 表达式c=>c.Country == "USA"应用于customers 列表中的所有数据,如果对于列表中的任意顾客, 表达式是true,就返回true。

bool allAsia = customers.All(c = > c.Region == "Asia");
http://book.51cto.com/art/200901/105661.htm
8、modelstate
MVC中Controller类有一个ModelState属性集合,可以用来提示传递到视图的model对象是否有错误。ModelState中Error记录识别模型属性的名称和错误信息,并允许指定友好的错误信息。
9、link属性 type="image/x-icon"

 用于在浏览器地址栏里显示的图形

如此那般写了后,在浏览器的地址栏里,图片会展现成你给的路线的那么些图片,但是貌似这么些路子不能够改,只可以是网站根目录下的favicon.ico文件,而且今后相近不用写这些,只要根目录下有那几个文件,浏览器会自动读收取来并呈现~~

澳门新葡亰官网APP 1

本文由澳门新葡亰app发布于澳门新葡亰,转载请注明出处:【澳门新葡亰官网APP】C#之MVC3继续整理问题

关键词: