0
나는 모델 개체로에게 를 결합하는 JSON 문자열 형식하지만없는에서 양식 데이터를 얻고 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);
}
친절 즉 leadViewModel..Please에 나를 도와 컨트롤러 메소드의 매개 변수에 null 값을 얻고 내 jQuery 코드의 attempt..I 통과 ..!
직렬화 된 데이터를 전달할 때 LeadViewModel 객체가 '&'로 구분되어 있습니다. –
또한 serializedObject()를 사용하는 경우 null이 아닌 빈 값을 가져옵니다. 상위 페이지의 텍스트 상자에 입력 된 값 –
아마도 stringify 호출과 관련이 있지만 궁극적으로는 쿼리 문자열을 통해 데이터를 전달하는 경우 - 앰퍼샌드로 구분 된 값 - 얻을 수 있습니다. 헤더를 통해 이것을 전달한다고 상상해보십시오. stringify를 제거하면 AJAX 요청에 전달할 적절한 JSON 객체가 있어야합니다. –