所以基本上我想知道如何调用方法或修改剃刀文件中的代码我在互联网上看到了一些包含静态类的方法,但我认为这不是最好的方法。我在 cshtml 文件中得到了这段代码:<td>
@Html.DisplayFor(modelItem => item.Description)
</td>显示“新闻”类(在模型中)的所有行我只想显示描述的前 50 个字母和后面的 3 个点,我的问题是我应该在哪里编写这个方法?在“新闻”课上?或者在另一个外部课程中?以及如何在 razor 文件中访问它?
1 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
您可以将该方法定义(编写)为新闻模型类的成员方法
public class NewsModel
{
//all your properties here
public string Description { get; set; }
public string DescriptionWithDots { get { return DoTheDots(Description); } }
//the method that writes the dots
public string DoTheDots(string input)
{
return input + "some dots ...";
}
}
然后在视图中调用它,不要使用 Displayfor() 并像这样调用它:
<td>
@item(item.DescriptionWithDots)
</td>
正如 @ath 上面所说,这不是一个很好的做法(因为您现在将视图耦合到模型并跳过控制器),您希望避免调用视图中的方法。
相反,您可以将其重构到您的控制器中:
foreach (var item in models)
{
item.Description = item.DoTheDots(item.Description);
}
return View(models);
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消