asp.net mvc parameter from page to a partial view

11,516

Solution 1

In order to do what you want, you will need to add the id to the ViewData construct.

var sysfunctions= UnisegurancaService.FunctionsRepository.All();
ViewData["NeededID"] = id
return View(sysfunctions);

then in your view where you render the partial

<%= Html.RenderPartial("GridFunction", (int)ViewData["NeededID"]) %>

Cast as required of course.

Whatever gets pushed in as the second param becomes the .Model in the partial. I would suggest also strongly typing your partials.

Solution 2

Try this:

<% Html.RenderPartial("GridFunction", new ViewDataDictionary {{"Id", ViewData["Id"]}}); %>

UPDATED:

And add this in your controller action:

ViewData["Id"] = Id;

UPDATED:

And in your GridFunction partial View you can access Id as:

<%= ViewData["Id"] %>
Share:
11,516

Related videos on Youtube

Admin
Author by

Admin

Updated on June 04, 2022

Comments

  • Admin
    Admin almost 2 years

    I'm with a problem, I have a ajax link that pass a parameter, but, the page that it opens does not need that parameter. The page only load 2 partial views, one of those need that parameter passed to the page to load the data correctly, and the other just need to load a form, so, don't need that parameter. How can i acheive this?

  • Muhammad Hafizh
    Muhammad Hafizh almost 15 years
    No problem. I've made my answer more helpful. If you don't wish to strongly type your partials (which I would suggest you do type them) then the advice by eu-ge-ne with the ViewDataDictionary is better.