为了账号安全,请及时绑定邮箱和手机立即绑定

如何从剃刀正确调用方法?

如何从剃刀正确调用方法?

C#
猛跑小猪 2023-07-22 16:26:36
所以基本上我想知道如何调用方法或修改剃刀文件中的代码我在互联网上看到了一些包含静态类的方法,但我认为这不是最好的方法。我在 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);


查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信