Zak*_*aki 7 asp.net-mvc capitalization razor asp.net-mvc-3
我是MVC的新手,并没有在网上找到解决方案.
我把html作为:
@Html.DisplayFor(model => model.Address1) <br />
Run Code Online (Sandbox Code Playgroud)
我希望地址1的第一个字母都是大写字母,例如Something Road而不是道路.
现在我有一个类客户端和属性Address1并使用EF获取地址如下:
public class MyDBContext : DbContext
{
public DbSet<Client> Clients { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
希望它有意义.
kif*_*lay 19
简单的解决方案可能
Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { class = "form-control" } })
Run Code Online (Sandbox Code Playgroud)
然后使用下面的css将你的第一个字母大写,然后你就完成了.
.form-control {
text-transform:capitalize;
}
Run Code Online (Sandbox Code Playgroud)
您可以Client使用Address1在标题大小写中返回的属性添加部分类:
public partial class Client
{
public string TitleCaseAddress1
{
get
{
return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(this.Address1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后你会TitleCaseAddress1在你的剃须刀中使用:
@Html.DisplayFor(model => model.TitleCaseAddress1) <br />
参考:http://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase(v=vs.100).aspx
最好将表示层和数据访问层分开.创建包装或转换ORM /实体框架对象的视图模型.
public class ClientViewModel
{
private Client _dao;
public ClientViewModel(Client dao)
{
_dao = dao;
}
public string Address
{
get
{
// modify the address as needed here
return _dao.Address;
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
对于希望在 Razor 中严格执行此操作的任何人,此示例正在转换登录用户名。替换为您的字符串变量。
这获取第一个字母并转换为大写:
@(@User.Identity.GetUserName().ToString().Substring(0, 1).ToUpper())
Run Code Online (Sandbox Code Playgroud)
这得到了剩余的字符串。
@(@User.Identity.GetUserName().ToString().Substring(1,
User.Identity.GetUserName().ToString().Length - 1))
Run Code Online (Sandbox Code Playgroud)
只需将它们像这样放在一起即可获得整个字符串。
@(@User.Identity.GetUserName().ToString().Substring(0,
1).ToUpper())@(@User.Identity.GetUserName().ToString().Substring(1,
User.Identity.GetUserName().ToString().Length - 1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15447 次 |
| 最近记录: |