Home > DeveloperSection > Forums > Access to a variable from a view in another view
Ankit Singh

Total Post:341

Posted on    December-23-2013 2:06 AM

 ASP.Net ASP.Net 

 1 Reply(s)
 645  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

Pravesh Singh

Total Post:412

Posted on    December-23-2013 4:53 AM

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 })

Don't want to miss updates? Please click the below button!

Follow MindStick