2016-12-01 3 views
-1

나는이 코드를 실행하면매개 변수

  [HttpGetAttribute] 
    public ActionResult _UpdateAlertNote(int recordId) 
    { 
     DealActionUpdateAlertNoteViewModel vm = new DealActionUpdateAlertNoteViewModel(); 

     dtDeal_v10_r1.Manager objMan = new dtDeal_v10_r1.Manager(ref mobjSecurity); 
     dtDeal_v10_r1.Deal objDeal = default(dtDeal_v10_r1.Deal); 

     objDeal = objMan.GetDealObject(recordId, true); 

     vm.Message = objDeal.AlertMessage; 
     vm.IsDefaultStyle = objDeal.Alert_UseDefaultStyle; 
     vm.BackgroundColor = objDeal.Alert_BackgroundColor; 
     vm.FontColor = objDeal.Alert_FontColor; 
     vm.DealId = recordId; 

     return PartialView(vm); 
    } 

또한 내 컨트롤러에서 다음 ActionResult 다음 ActionResult가

  [HttpPost] 
    public ActionResult _UpdateAlertNote(DealActionUpdateAlertNoteViewModel vm) 
    { 
     dtDeal_v10_r1.Manager objMan = new dtDeal_v10_r1.Manager(ref mobjSecurity); 

     objMan.UpdateAlertMessage(vm.DealId, vm.Message, vm.IsDefaultStyle, vm.FontColor, vm.BackgroundColor); 

     return this.PartialView("_action", vm.DealId); 

    } 

그것을 "DealId는"0으로 등장해야 포스트.

Get 및 DealId가 vm.DealId에 저장되어 있지만 Post 메서드로 전달되지 않았는지 확인했습니다.

나는 왜 누군가가 이것을 도와 줄 수 있는지 확실하지 않습니다.

**** 편집 JSON은}

DealerSocket.TakeAction.updateDealAlertNote = function() { 
var controller = "/DealAction/_UpdateAlertNote?mDeal_ID="; 
var formId = "_UpdateDealAlertNoteFormElement"; 

DealerSocket.TakeAction.PostActionAndRefresh(formId, controller); 

*** 첨가;

+0

어떻게 POST 동작을 호출합니까? Ajax 통화입니까? – Aram

+0

사실 내가 가지고있는 포스트 코드는 ajax 호출을 발생시키는 onclick 이벤트의 일부입니다. – Jack

+1

DealActionUpdateAlertNoteViewModel 클래스를 나타내는 Json 객체를 채우고 보내야합니다. 그것이 우리가 도울 수 있도록 게시해야 할 작품입니다. – Aram

답변

0

POST 작업에 HTML 양식 요소를 게시 할 때보기에 전달하는 값이 Form 요소에 저장되어 있는지 확인해야합니다. 당신이 작업에 게시 된 <form> 태그 내에

<input type="hidden" value="@vm.DealId" /> 

: 당신이 뭔가를해야합니다 당신의이 경우

.

<form> 태그 안의 요소 만 직렬화되어 작업으로 전송됩니다.