Я получаю данные формы в формате JSON строки Format, но не смог связать его с моделью объектаКак конвертировать/Получить данные формы в формате JSON объект
Мой Вид:
<div class="GenderaMale float_lt">
</div>
<div class="float_lt">@Html.RadioButtonFor(m => m.PersonalDetails.BasicDetails.Gender, "male", new { @style = "margin:10px;margin-top:15px;", id = "malegender" })
</div>
<div class="GenderaFemale float_lt" style="margin-left: 30px;">
</div>
<div class="float_lt">@Html.RadioButtonFor(m => m.PersonalDetails.BasicDetails.Gender, "Female", new { @style = "margin:10px;margin-top:15px;", id = "femalegender" })
</div>
<span class="float_lt" style="margin-right: 15px;
margin-top: 5px;">Amount</span>
<div class="rupee" style="float: left">
</div>
@Html.TextBoxFor(m => m.Amount, new { @class = "trackwidthtxt float_lt" })
<script type="text/javascript">
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
$("#calculateNow").click(function() {
var viewmodel = $('#CalculateNowForm').serializeObject();
alert(viewmodel);
var data = JSON.stringify($('form').serializeObject())
alert(data);
var Parameters = '{"leadViewModel":' + data + '}';
alert(Parameters);
Events.OpenPopup(ApplicationRoot + '/Calculator/CalculateNow', '', 600, 750, "middle", "#E7F0F5", Parameters);
});
</script>
Вот моя модель:
public partial class LeadViewModel
{
public string Amount{ get; set; }
public PersonalDetailsViewModel PersonalDetails{ get; set; }
}
public partial class PersonalDetailsViewModel
{
public BasicDetailsViewModel BasicDetails{ get; set; }
}
public partial class BasicDetailsViewModel
{
public string Gender{ get; set; }
}
Вот мой контроллер:
[HttpPost]
public ActionResult CalculateNow(LeadViewModel leadViewModel)
{
LeadViewModel leadmodel = leadViewModel;
return PartialView("ConfirmToCalculate",leadmodel);
}
Пожалуйста, пройти через мой код attempt..I Jquery я получаю нулевое значение в контроллер параметра метода, т.е. на leadViewModel..Please помочь мне .. !!!
Я получаю строку, а не объект LeadViewModel, разделенный символом «&» при передаче сериализованных данных. – 2013-05-02 08:37:15
Также, если я использую serializedObject(), я получаю », то есть пустое значение вместо нуля ... Я не получаю значение, введенное в текстовое поле на родительской странице. – 2013-05-02 08:57:26
Вероятно, это связано с вызовом stringify, но в конечном итоге, если вы передаете данные с помощью строки запроса, которую вы получите, значения, разделенные амперсандами. Я предполагаю, что вы передаете это через заголовки, так что удалите stringify, и у вас должен быть правильный объект JSON для передачи вашего запроса ajax. –