有没有办法在Mvc中的Foreach循环中调用方法

时间:2016-05-17 09:07:58

标签: asp.net-mvc foreach

我想获取数据并在每个循环中显示数据。请提供示例代码在MVC中完成新手。

 @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.cntryName)
                //---- Here I want to call another method based on contryId and bind details
                in another table

            </td>

2 个答案:

答案 0 :(得分:2)

您可以编写HtmlHelper扩展

using System.Web.Mvc;
namespace WebApplication1
{
    public static class HtmlHelperExtensions
    {
      public static string YourTableEmittingMethod(this HtmlHelper helper, int countryId)
      {
        //Add your logic to create html string using the countryId 
        //and return string containing the Html tags for the table
      }
   }
}

然后您可以在mvc视图中将此方法用作@Html.YourTableEmittingCode(@item.CountryId)

详细了解HtmlExtensions here

答案 1 :(得分:0)

为什么不返回模型中的所有必需数据?

从发送到视图的模型中,执行循环,使返回到视图的模型具有所需的所有数据。在cs文件中编写逻辑代码比在视图中编写逻辑代码要简洁得多。