Я пытаюсь отправить обратно значение выбранного переключателя на контроллер после нажатия кнопки в приложении MVC4 RAZOR. Однако я не получить обратно реального ожидаемого значения в контроллере, только 0.Отправка выбранного значения динамической радио кнопки в MVC4 razor
Частичный вид Код:
@model Blah.FeatureViewModel
<script type="text/javascript">
function OnContinueClick() {
$('#tabs').load('@Url.Action("Continue", "Home")', { SelectedFeature : Model.SelectedFeature });
}
</script>
@using (Html.BeginForm())
{
<div>
@foreach (var feature in Model.FeatureDictionary)
{
<p>
@Html.RadioButtonFor(x => x.SelectedFeature, feature) @feature.Value
</p>
}
<input type="button" name="continueButton" id="continueButton" value="Continue" onclick="OnContinueClick()" />
</div>
}
Просмотр Код модели:
using System.Collections.Generic;
namespace Blah.Models
{
public class FeatureViewModel
{
public Dictionary<int, string> FeatureDictionary { get; set; }
public KeyValuePair<int, string> SelectedFeature { get; set; }
}
}
Controller Code :
[HttpPost]
public ActionResult Continue(FeatureViewModel featureViewModel)
{
//pass data to another controller
}
Думаю, мне может понадобиться JQuery, чтобы вернуть стоимость?
Ваш объект передается для правильной сборки груза? Что выглядит JSON, когда все отформатировано? Кроме того, похоже, что ваш метод 'Continue' принимает' FeatureViewModel', но вы не передаете объект FeatureViewModel'. Вы передаете 'SelectedFeature', который является' KVP'. –
Вместо KVP я модифицировал действие, чтобы принять int, поскольку это единственное значение, которое требуется контроллеру. У меня возникают проблемы с получением выбранного значения в JS-функции и для этого значения, которое нужно отправить обратно на контроллер. Первоначально JSON выглядел как KVP, преобразованный в строку в коде выше. – TheWolf