3
아약스 액션 링크를 사용하여 한 필드를보기 위해 변경하지 않고 저장하려고한다고 가정합니다.Ajax.ActionLink 호출을위한 사용자 입력을 얻는 방법?
이[AcceptVerbs(HttpVerbs.Post)]
public void SaveComment(Model model)
{
MyRepository repository = new MyRepository();
Model mod = repository.GetModel(model.ID);
mod.MyComment = model.MyComment;
try
{
repository.Save();
}
catch(Exception ex)
{
throw ex;
}
}
문제는 다음과 같습니다
여기<%= Html.TextBox("myComment", Model.MyComment)%>
<%= Ajax.ActionLink("SAVE", "SaveComment", "Home",
Model, new AjaxOptions { HttpMethod = "POST"})
%>
컨트롤러에서 아약스 actionlink 내 지침 : 여기
내도이다 (이 모델을 입력합니다 수밖에 강력한 형식이다) : 나는 액션 메소드에서 Mycomment를위한 텍스트 박스에서 사용자 입력을 얻을 수 없다. Mycomment의 브라우저에서 사용자가 입력 한 내용에 상관없이 Ajax ActionLink SAVE를 클릭하면 Mycomment의 param 모델에서 값을 확인하고 MyComment에는 아무 것도 변경되지 않습니다.혼동 : 양방향으로보기 위해 모델을 바인딩해야합니다. 그러나이 경우에는 그렇지 않습니다. 난 여전히 사용자 입력을받을 수 없습니다
public void SaveComment(string commentinput)
:
Ajax.ActionLink("SAVE", "SaveComment", "Home",
new {commentinput =Model.MyComment, new AjaxOptions { HttpMethod = "POST"})
다음과 같이 액션 메소드의 서명을 변경 : 는 그럼 난에 Ajax.ActionLink 호출을 변경했습니다.
컨트롤러 작업 방법에서 사용자 입력을 얻는 방법은 무엇입니까?
감사합니다. 하지만 내보기 테이블, <% = Html.TextBox ("myComment", Model.MyComment) %> 테이블의 각 행에 대한 것입니다. – KentZhou