gpt4 book ai didi

c# - 如何从 Razor 正确调用方法?

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:33 28 4
gpt4 key购买 nike

所以基本上我想知道如何在 razor 文件中调用方法或修改代码

我在互联网上看到了一些包含静态类的方法,但我认为这不是最好的方法。

我在 cshtml 文件中得到了这段代码:

<td>
@Html.DisplayFor(modelItem => item.Description)
</td>

显示“新闻”类(在模型中)的所有行

而且我只想显示描述的前50个字母和后面的3个点,我的问题是我应该在哪里写这个方法?在“新闻”课上?还是在另一个外部类(class)中?以及如何在 razor 文件中访问它?

最佳答案

已更新以反射(reflect)@mjwills 的建议

您可以将方法定义(编写)为新闻模型类的成员方法

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 ...";
}
}

然后在 View 中调用它只是不要使用 Displayfor() 并像这样调用它:

 <td>
@item(item.DescriptionWithDots)
</td>

正如@ath 上面所说,这不是很好的做法(因为您现在将 View 耦合到模型并跳过 Controller ),您希望避免在 View 中调用方法。
相反,您可以将其重构到您的 Controller 中:

foreach (var item in models)
{
item.Description = item.DoTheDots(item.Description);
}
return View(models);

关于c# - 如何从 Razor 正确调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57231748/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com