ACCESS TO A VARIABLE FROM A VIEW IN ANOTHER VIEW

Ankit Singh

Total Post:341

Points:2389
Posted by  Ankit Singh
 864  View(s)
Ratings:
Rate this:

I have the following problem with applpication:

Index.cshtml:

@model IEnumerable<ForestryManagement.Models.Forestry>

 @foreach (var forestry in Model)

    {

        <li>@Html.ActionLink(forestry.Name, "Index12", new {tree = forestry.ForestryID})

    }

When you click on one Forestry (ActionLink), you will be redirected to the Index12, where the trees from these Forestry are listed

Index12.cshtml:

@model IEnumerable<ForestryManagement.Models.Tree>

@foreach (var item in Model) {

    <tr>

        <td>

            @Html.DisplayFor(modelItem => item.treeName)

        </td>

        </tr>

@Html.ActionLink("Create new Tree", "Create", new { id = **??????**})

Now, when i will create another tree in this forestry, i need the ID from the forestry on my Index12.cshtml page for the ActioLink

  1. Pravesh Singh

    Post:412

    Points:2888
    Re: Access to a variable from a view in another view

    Hi Ankit,

    Create a view model for tree listings, like so:

    public class TreeListingViewModel

    {

        public int ForestryId { get; set; }

        public IEnumerable<TreeViewModel> Trees { get; set; }

    }

    Note: Prefer creating a TreeViewModel instead of just using your Tree data entity to reduce the dependency between your view and your data model (and also increase security as people can quite easily inject properties into your database if you expose your data entities directly to your view).

    Pass that to your view instead:

    @model TreeListingViewModel

    @Html.ActionLink("Create new Tree", "Create", new { id = Model.ForestryId })

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!