MVC Razor需要获得Substring
我的观点中有以下内容
@Html.DisplayFor(modelItem => item.FirstName)
我需要获得免费精选名字大全的第一个首字母。
我试过了
@Html.DisplayFor(modelItem => item.FirstName).Substring(1,1)
但它似乎没有用。 我收到以下错误:..’System.Web.Mvc.MvcHtmlString’不包含’Substring’的定义,没有扩展名
如果您只想显示item.FirstName
的第一个字符,为什么不这样做:
@Html.DisplayFor(modelItem => item.FirstName.Substring(1,1))
你有它在右括号的错误的一面。
您可以在视图中实现如下:
@Html.DisplayFor(modelItem => modelItem.FirstName).ToString().Substring(0,5)
您应该在ViewModel上放置一个属性,而不是尝试在视图代码中获取它。 视图唯一的责任是显示模型给它的内容,它不应该从模型中创建新数据。
我可能会建议视图不适合这样做。 您可能应该有一个单独的模型属性FirstInitial
,它包含逻辑。 您的视图应该只显示这个。
public class Person { public string FirstName { get; set; } public string FirstInitial { get { return FirstName != null ? FirstName.Substring(0,1) : ""; } } ... } @Html.DisplayFor( modelItem => modelItem.FirstInitial )
您可以使用自定义扩展方法,如下所示:
/// /// Returns only the first n characters of a String. /// /// /// /// /// public static string TruncateString(this string str, int start, int maxLength) { return str.Substring(start, Math.Min(str.Length, maxLength)); }
希望这可以帮助…
这对我有用(没有帮手):
上述就是C#学习教程:MVC Razor需要获得Substring分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
@item.Description.ToString().Substring(0, (item.Description.Length > 10) ? 10 : item.Description.Length )
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/957131.html