Вы не можете обойтись без использования Jquery
или Javascript
, Вы можете сделать что-то вроде этого, чтобы достичь ваших потребностей.
Если вы не используете Jquery
, пожалуйста, Download Latest Jquery к вашему проекту.
<div id ="div1">
</div>
Сначала добавьте этот щелчок событие в Jquery
,
$("#div1").click(function) {
$.ajax({
type: "POST",
url: "/Controller/getData/",
success: function (data) {
$("#div1").empty();
$("#div1").append(data.Html);
},
error: function (e) {
}
})
}
Получить HTML:
[HttpPost]
public ActionResult getData(PartnerDetail partner)
{
// Your Logical Stuff..
string viewName = "_childDiv"; // Specify fully qualified path if different Folder.
string htmlData = RenderPartialView(viewName, modelData);
return Json(new
{
Html = htmlData,
SomeExtraData = true
});
}
public string RenderPartialView(string viewName, object Model)
{
string htmlData = "";
if (string.IsNullOrEmpty(viewName))
viewName = ControllerContext.RouteData.GetRequiredString("action");
ViewData.Model = Model;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
htmlData = sw.GetStringBuilder().ToString();
}
return htmlData;
}
Это освежит div1
содержание с не обновляя страницу.
Опишите, что вы хотите сделать? –
Я бы обновил содержимое div1 с частичным представлением на основе нажатия кнопки .. вопрос заключается в том, что замена MVC Core для @ Ajax.ActionLink –
Проверьте, что такое сгенерированный html в mvc 5. Ссылка должна быть украшена некоторыми 'data-ajax-', которые вы можете применить в ядре aspnet. – regnauld