Я бы сказал, что ответ @ smdrager - это желаемый маршрут, если это возможно. Если вам нужно , чтобы получить html из ajax-запроса, однако, есть множество способов сделать это ... вот один из примеров:)
В вашем шаблоне у вас будет кнопка или ссылка и контейнер div для вашего контента:
<a href="javascript:void(0)" id="emailTo">email to</a>
<div id="emailToContent"></div>
Вам понадобится быстрый javascript для подключения функциональности на стороне клиента:
<script type="text/javascript">
$("#emailTo").click(function(){
$.get("<url to partial>", function(data){$("#emailToContent").html(data);}
});
</script>
Затем в вашем контроллере вам нужно действие, которое возвращает ваше частичное значение:
public ActionResult EmailTo()
{
...
return PartialView("some partial")
}
Убедитесь, что URL-адрес, переданный в вызов javascript $.get
, указывает на действие, которое возвращает ваш частичный элемент.
Это очень базовая реализация, которая может легко усложниться, если ваша ситуация усложняется (обработка исключений, передача параметров и т. Д.), Но общий макет работает для меня, когда мне нужен простой ajax-запрос для запуска.