call a partial view on @url.action. i am displaying the records using url.action and want to load the partial view when user click on the records.
here is my code on which i want to call the partial view when user click on it.
<td>
<a href="@Url.Action("Details", new { id=item.TeamId})">
@Html.DisplayFor(modelItem => item.TeamName)
</a>
</td>
here is my Div in which i am placing the Partial view
<div id="detailsPlace" class="dialog_content3" style="display:none"></div>
@Html.Partial("_TeamDetails")
</div>
here is my partial view which i want to render
@model light.ViewModels.ViewDetailTeam
@{
var item = Model.Team;
}
<div class="dialogModal_header">@Html.Label(item.TeamName)</div>
<div class="dialogModal_content">
<div class="main-content">
<div class="navi-but">
@Html.Label(item.TeamName)
</div>
@Html.Label(item.Description)
</div>
</div>
</div>
and here is my controller
public ActionResult Details(int id)
{
lightCoreModel.User loggedInUser = new lightCoreModel.User();
ViewDetailTeam viewDetailTeam = new ViewDetailTeam();
ViewData["DetailModel"] = viewDetailTeam;
viewDetailTeam.Retrieve(id);
return PartialView("_TeamDetails",viewDetailTeam);
}
now i am facing this problem with pop up its showing me the following screen.
You would need Ajax to do this. First, add a script block in your view with this code:
<script type="text/javascript">
$(function () {
$('.details').click(function () {
var $buttonClicked = $(this);
var id = $buttonClicked.attr('data-id');
$.ajax({
url: '@Url.Action("Details")',
type: 'GET',
data: { id: id },
success: function (partialView) {
$('#detailsPlace').html(partialView);
$('#detailsPlace').show();
}
});
});
});
</script>
Then change your anchor tag to this:
<a href="#" class="details" data-id="@item.TeamId">Details</a>
The ajax call will be fired whenever an element with the class of details is clicked. Once clicked, the Id that is stored in the data-id attribute will be passed along to the controller. When your controller passes the partial view back, the partial view will be loaded in the success function of the ajax call, and the detailsPlace will be shown, since it's display is set to none.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With