Hi Guys,
This should be relatively simple for the MVC experts out there, but i'm still learning the ropes.
- I have a View which is not strongly-typed, simply
ViewPage<dynamic>
. - On this View, i have a single textbox, which is extended using jQuery's AutoComplete
- When the user types something into the textbox, the AutoComplete does an AJAX call to a Controller, which calls a stored procedure, returning a JSON collection of records, with 2 properties:
- ID (Identifer for the item)
- Name (Name for the item)
Now, with the jQuery AutoComplete UI Plugin, when a user clicks one of the items that is shown in the autocomplete, a client-side event is called, passing through the JSON object:
// .. snip heaps of jQuery
select: function (event, ui) {
// ui is a JSON object:
// ui.item.id
// ui.item.name
}
Now my question is - from this client-side event, i need to display on the same page (below the texbox), extended information about this item. (obviously will require another AJAX call to the server).
How can i do that? The only thing i can think of is simply make the jQuery call another controller which returns a single JsonResult
, and manually parse this JSON, displaying the HTML i want.
Is that the only way? Is there a helper i can use? The reason my View is not strongly-typed is because when the page loads, there is no information displayed about the model, simply a textbox.
I was really hoping i could create a partial view that is strongly-typed, and somehow call RenderPartial on this partial view, passing through the id of the item i want to display. Is this possible from client-side/AJAX?
BTW i'm using ASP.NET MVC2.
Cheers!