I have been following the answers on here but can't seem to get it to work. I think it's firing my function and calling my controller but it isn't rendering my partial view. Any help would be awesome.
Controller
public ActionResult Detail(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
User_Accounts user_accounts = db.User_Accounts.Find(id);
if (user_accounts == null)
{
return HttpNotFound();
}
return PartialView("_Detail", user_accounts);
}
HTML
<h2>Index</h2>
<div class="container left">
<div class="panel-default panelbox" style="position:static">
@*<p>
@Html.ActionLink("Create New", "Create")*@
@using (Html.BeginForm("Index", "Users", FormMethod.Get))
{
<p>
Type: @Html.DropDownList("userType", "All")
</p>
<p>
Last Name: @Html.TextBox("SearchString")
</p>
}
</div>
<div class="panel panel-default left">
<div class="panel-heading">
<label style="text-align:center">
User
</label>
</div>
<div class="table-responsive">
<table id="UserTable" class="table-bordered table leftPanel table-condensed">
@foreach (var item in Model)
{
<tr>
<td>
<button data-url='@Html.Action("Detail", "Users", new { id = item.user_id_IN })' id="js-reload-details">@Html.DisplayFor(modelItem => item.DisplayName)</button>
@*@Html.ActionLink(item.DisplayName, "Detail", new { id = item.user_id_IN }, new { onclick = "renderPartial();" })*@
</td>
</tr>
}
</table>
</div>
</div>
</div>
<div>
<label>Details</label>
<div id="detailsDiv"></div>
</div>
Script
<script>
$('.js-reload-details').click(function (evt) {
var $detailDiv = $('#detailsDiv'),
url = $(this).data('url');
$.get(url, function (data) {
$detailsDiv.replaceWith(data);
});
});
</script>
Let me know if you need anything else.
evt.preventDefault()and thisevt.stopPropagation()and tell me if that solves your problem. It does make sense to me why you so need this. Thank you in advancevar $detailDiv, a statementdebugger;. Then request your page and click on the element you expect to reload the details. The the execution will stop. Go to the console and writeurland hit enter. Is this the correct url? One thing that seems strange to me is the fact that you don't even pass an id to yourDetailaction.