[asp.net-mvc] How can I pass parameters to a partial view in mvc 4


One of The Shortest method i found for single value while i was searching for myself, is just passing single string and setting string as model in view like this.

In your Partial calling side

@Html.Partial("ParitalAction", "String data to pass to partial")

And then binding the model with Partial View like this

@model string

and the using its value in Partial View like this


You can also play with other datatypes like array, int or more complex data types like IDictionary or something else.

Hope it helps,


I have a link like this:

 <a href='Member/MemberHome/Profile/Id'><span>Profile</span></a>

and when I click on this it will call this partial page:

    switch ((string)ViewBag.Details)

        case "Profile":
           @Html.Partial("_Profile"); break;


Partial page _Profile contains:

Html.Action("Action", "Controller", model.Paramter) 


@Html.Action("MemberProfile", "Member", new { id=1 })   // id is always changing

My doubt is that how can I pass this "Id" to model.parameter part?

My controllers are:

 public ActionResult MemberHome(string id)
        ViewBag.Details = id;
        return View();
  public ActionResult MemberProfile(int id = 0)
        MemberData md = new Member().GetMemberProfile(id);
        return PartialView("_ProfilePage",md);