0

I have this controller:

public ActionResult PopulateTreeViewModel()
    {
        MainModelPopulate mainModelPopulate = new MainModelPopulate();
        // populate model
        return View(mainModelPopulate);
    }

That has a view like this:

@model xxx.xxx.MainModelPopulate
<table>
        @foreach (var item2 in Model.CountryList)
        {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item2.CountryName);
            </td>
        </tr>
            foreach (var item3 in item2.BrandList)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item3.BrandName);
                    </td>
                </tr>
                foreach (var item4 in item3.ProductList)
                {
                    <tr>
                        <td>
                         @Html.ActionLink(item4.ProductName, "FunctionX", new { idLab = item3.BrandID, idDep = item4.ProductID });                           
                    </td>
                    </tr>
                }
            }


        }
    </table>

The FunctionX controller is like this :

public ActionResult FunctionX(int  idBrand=1 , int idProd=1)
    {
        List<ListTypeModel> typeModelList = new List<ListTypeModel>();
        // populate typeModelList
        return PartialView(typeModelList);
        }

    }

with this partial view:

@model IEnumerable<TControl.Models.ListTypeModel>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>

        <th></th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>

        </tr>
    }

</table>

I want to add this partial view in my main view (PopulateTreeViewModel) and update the table with the relative type of product contained in Function X.

I tried also to substitute @Html.ActionLink with @Ajax.ActionLink and it performs the same way.

Daniele
  • 668
  • 2
  • 10
  • 25

1 Answers1

0

Have you tried @Html.RenderAction(item4.ProductName, "FunctionX", new { idLab = item3.BrandID, idDep = item4.ProductID });

There are other options too..! Pls refer http://www.dotnet-tricks.com/Tutorial/mvc/Q8V2130113-RenderPartial-vs-RenderAction-vs-Partial-vs-Action-in-MVC-Razor.html

Adersh M
  • 596
  • 3
  • 19