@Html.TextBoxFor() 讲解(其他类似的 @Html.LabelFor 等)同理
@Html.TextBoxFor(model => model.SearchParams.Name, new { @class = "col-md-12 searcher-input search-login-name", @placeholder = "请输入登录名/姓名", maxLength = "50" })
new{ }:这里写的是匿名对象,匿名对象的属性,等同于写一个textbox 标记里面的属性
@ 是否需要的原因:如果是C# 内置的关键字就要加,如果不是就不用加,比如如果class 前不加@ 就会报错,因为class 是C# 的内置关键字(但经过测试,即使不是C#的内置关键字,如@placeholder 加不加@ 都能正常使用)
-
属性是否大小写经测试是没有什么影响的,最终都会转换成小写,不过小写会出现智能提示,而大写不会
(这边有一个特殊的地方,如果class 大写,但是没加@也不会报错,能正常使用,生成的html 代码也会如下)
<input maxlength="50" class="col-md-12 searcher-input search-login-name" id="SearchParams_Name" name="SearchParams.Name" placeholder="请输入登录名/姓名" type="text" value="">
-
属性值:经测试,如果值类型的属性值加不加双引号效果都是一样的,如下 maxlength ="1"
<input class="col-md-12 searcher-input search-login-name" maxlength="1" id="SearchParams_Name" name="SearchParams.Name" placeholder="请输入登录名/姓名" type="text" value="">
但如果是字符串类型如果不加"",页面就会报错找不到字符串值
总结:要养成写标准规范的习惯,属性最好用小写,属性值都要加英文半角的双引号,这样也便于后期代码的维护