Access to a variable from a view in another view

Total Post:341

Points:2389

 1282  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. 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

Answer

Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.