亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從剃刀正確調用方法?

如何從剃刀正確調用方法?

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 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號