Да, вам нужен Ajax и, возможно, несколько библиотек JavaScript, чтобы помочь в вашем одностраничном приложении.Вы могли бы начать создание прототипа с помощью jQuery , чтобы привыкнуть к подходу Ajax:
<script type="text/javascript">
$(function() {
$('#battleHitButton').click(function(e) {
$.ajax({
type: 'POST',
url: 'Battle/Hit',
data: { 'opponent': 'someName', 'bonus': 42 },
success: function(data) {
$('#result').html(data);
// do some other stuff after hit
}
});
});
});
</script>
А вашему MVC-приложению на внутреннем сервере потребуется действие в контроллере для поддержки/Battle/Hit
URL
public class BattleController : Controller
{
[HttpPost]
public ActionResult Hit(BattleModel model)
{
string whoToHit = model.opponent;
int bonusDamage = model.bonus;
// do battle, persist to database, etc
}
}
Это ни в коем случае не полное решение.Тем не менее, вы должны начать думать с точки зрения MVC и JavaScript / jQuery.Как только вы это освоите, я настоятельно рекомендую изучить некоторые альтернативы jQuery, если ваше приложение становится более сложным.jQuery.ajax
может быстро превратиться в код спагетти!