Advertise with us

Access to a variable from a view in another view

Posted by  Ankit Singh
 1450  View(s)
Rate this:

I have the following problem with applpication:


@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


@model IEnumerable<ForestryManagement.Models.Tree>
@foreach (var item in Model) {
            @Html.DisplayFor(modelItem => item.treeName)
@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. 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 })

      Modified On Apr-04-2018 12:40:03 AM