我想在我的视图中强制在文本框上使用大写字母.因此,当用户在文本框中键入内容时,文本会立即转换为大写或(替代)文本在提交表单时以大写形式转换,并且模型使用数据填充(在操作控制器中).也许有一些CSS或jquery解决方案,但我更喜欢一些MVC解决方案(如果可能的话).
这是我的观点:
@model Domain.Entities.ProjectTechnology
<script src="../../Scripts/Admin/_AddProjectTechnology.js" type="text/javascript"></script>
<div class="editor-label">Technologies</div>
<div class="editor-field">
@using (Ajax.BeginForm("_AddProjectTechnology", new AjaxOptions { HttpMethod = "POST",
UpdateTargetId = "RemoveProjectTechnology",
InsertionMode = InsertionMode.Replace,
OnComplete = "AddProjectTechnologyCompleted" })) {
@Html.ValidationSummary(true)
@Html.HiddenFor(m => m.ProjectID)
@Html.EditorFor(m => m.TechnologyID)
@Html.ValidationMessageFor(m => m.TechnologyID)
}
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的模型:
public class ProjectTechnology
{
public int ProjectID { get; set; }
public string TechnologyID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
有问题的文本框是这一行:@ Html.EditorFor(m => m.TechnologyID)
我该怎么办?
谢谢.
lei*_*ann 18
最简单的方法是IMO:
@Html.EditorFor(m => m.TechnologyID, new { htmlAttributes = new { @style = "text-transform:uppercase" } })
Run Code Online (Sandbox Code Playgroud)
小智 6
我在视图中的代码行是:
@Html.TextBoxFor(model => model.BldgNameAbbv, new {onkeyup="InputToUpper(this);"})
Run Code Online (Sandbox Code Playgroud)
相关的脚本是:
<script>
function InputToUpper(obj)
{
if (obj.value!="")
{
obj.value = obj.value.toUpperCase();
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这对我有用。使用 TextBoxFor 而不是 EditorFor 是必不可少的。
小智 6
对于EditorFor:
@Html.EditorFor(model =>
model.Nome,
new {
htmlAttributes = new {
@class = "form-control",
@onkeyup = "InputToUpper(this);"
}
}
)
Run Code Online (Sandbox Code Playgroud)
您可以在属性的 getter 上执行此转换:
public class ProjectTechnology
{
public int ProjectID { get; set; }
private string _technologyId;
public string TechnologyID
{
get
{
if (string.IsNullOrEmpty(_technologyId))
{
return _technologyId;
}
return _technologyId.ToUpper();
}
set
{
_technologyId = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27695 次 |
| 最近记录: |