Рассмотрим что-то вроде этого (не проверено):
<html>
...
<body>
...
@Html.RenderAction("DoStuff", new { value: "" });
...
</body>
Частичное представление DoStuff.cshtml:
<div class="doStuffContent">
<script type="text/javascript">
$("#button").click(function () {
DoStuff();
});
function DoStuff()
{
$.ajax(
{
url: @Url.Action("DoStuff"),
data: {value: "testData"},
success: function(result)
{
$("doStuffContent").replaceWith(result);
}});
}
</script>
<a id="button">click me</a>
@ViewBag.message
</div>
Действие:
[HttpGet]
public ActionResult DoStuff()
{
Viewbag.Message = "";
return View();
}
[HttpPost]
public ActionResult DoStuff(string value)
{
Viewbag.Message = "Received " + value + "!";
return View();
}