如何在 C#/MVC 4 中的 Html.TextBoxFor 中输入占位符文本

Posted

技术标签:

【中文标题】如何在 C#/MVC 4 中的 Html.TextBoxFor 中输入占位符文本【英文标题】:How to Enter Placeholder Text Within Html.TextBoxFor in C# / MVC 4 【发布时间】:2017-10-16 06:08:09 【问题描述】:

通常在 html / CSS 中,如果您想将占位符文本添加到文本框,您只需这样做:

<input type="text" class="input-class" placeholder="Please enter your email"/>

但由于我使用的是为 Visual Studio MVC 4 中的登录面板提供的现有代码:

/Views/Account/Login.cshtml

这是当前呈现输入的 C# 代码:

@Html.TextBoxFor(m => m.Email, new  @class = "form-input" )
@Html.ValidationMessageFor(m => m.Email, "", new  @class = "text-danger" )

@Html.PasswordFor(m => m.Password, new  @class = "form-input" )
@Html.ValidationMessageFor(m => m.Password, "", new  @class = "text-danger" )

如何在 C# 中向此代码添加占位符文本?我试过这个:

@Html.TextBoxFor(m => m.Email, placeholder ="Email" new  @class = "form-input" )

它用红色下划线“占位符”表示“当前上下文中不存在名称'占位符'”。

【问题讨论】:

【参考方案1】:

试试这个:

@Html.TextBoxFor(m => m.Email, new  placeholder = "Email" )

【讨论】:

如果我这样做:@Html.TextBoxFor(m => m.Email, new placeholder = "Email" , new @class = "text-danger" ) 它会在红色下划线 new placeholder = "Email" 并说“参数 3:无法从 '' 转换为 'string'” - 我认为仍然需要 text-danger 类,但我可以尝试删除它。 编辑 删除类有效 - text-danger 是一个引导类,用于定义占位符文本颜色。但实际上,我仍然想定义占位符文本颜色。 您实际上是在使用new placeholder = "Email" 创建一个新对象。因此,您可以包含任何其他您想要的 html 属性;它们都不是强制性的。您甚至可以将其留空。【参考方案2】:

使用TextBoxFor() 的重载和htmlAttributes 参数。该参数应该是一个匿名对象,具有您希望分配给输入的 all 属性。

例如,如果要设置placeholderclass 属性:

@Html.TextBoxFor( m => m.Email, new  placeholder = "Email", @class = "form-input"  )

【讨论】:

【参考方案3】:

有一个参数是 objecthtmlattributes ,你可以在那里设置每个 html 输入属性 示例:

 @Html.TextBox("Model binding here" , new  @class="form-controll" , @placeholder="Enter email")

【讨论】:

【参考方案4】:

尝试以下方法

此代码已经过测试并且可以正常工作

@Html.TextBox("CustomarName" ,null, new  @class = "form-control" , @placeholder = "Search With Customar Name" )

希望对你有帮助

【讨论】:

OP 询问如何在TextBoxFor 中而不是在TextBox 中使用占位符 这正是我一直在寻找的答案 :-)【参考方案5】:

对于输入字段

@Html.TextBoxFor( m => m.Email, new  placeholder = "Your email id" )

对于文本区域

@Html.TextAreaFor(m => m.Description, new  placeholder = "Please add description here" )

【讨论】:

【参考方案6】:

这对我有用...

@Html.TextBoxFor(m => m.Username, new  @placeholder = "Username", @class = "input100" )

【讨论】:

以上是关于如何在 C#/MVC 4 中的 Html.TextBoxFor 中输入占位符文本的主要内容,如果未能解决你的问题,请参考以下文章

大型查询如何在 C#/ASP.NET MVC 4 部分中返回结果

如何验证 mvc 4.5 中的选择下拉列表?

如何在 MVC 4 中更改 jQuery DatePicker 中的验证文本?

如何在mvc 4中的特定间隔后重复调用方法[关闭]

如何使用 Angular 2 在 POST 上启用 ASP.NET MVC 4 中的跨源请求

如何在c#mvc中将Json结果转换为对象