내가보기asp.net MVC Ajax.BeginForm
<% using (Ajax.BeginForm("ActionName", null , null, new { id = "FormName" }))
{%>
<input type="hidden" value = '<%= Html.Encode(Model.id) %>' name="id"/>
<textarea id="message" name=message rows="4" style="width: 90%">
</textarea>
<% }%}
이 같은 뭔가를 그리고 작업 방법이
같은 것입니다Ajax.BeginForm
으로 어려움에 봉착[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult ActionName(int id, string message)
{
....
}
'id'와 'message'를 동작 메소드에 전달하려고합니다. 나는 routeValues에 대해 'null'을 전달하지만 통과 할 대상은 모른다. 이상 적으로 경로 값을 필요로하지 않지만 actionName과 htmlattributes (양식 이름)을 필요로하는 오버로드를 찾으려고했지만 one.I을 찾을 수 없습니다.보기 모델에 'message'를 추가하고 싶지 않습니다. jquery 작업을위한 FormName. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
아, 나는이 내가
$.post($("#FormName").attr('action'), $("#FormName").serialize(),
function(result) {
$("#correspondingDiv").html(result);
}
);
이 솔루션을 시도하면 컨트롤러 동작 메서드가 호출되지만 BeginForm에 정의 된 초기 경로 값을 가지며 폼에 채워지는 초기 값은 여전히 남아 있습니다. 이견있는 사람 ? –
페이지가 렌더링 될 때 BeginForm 도우미가 호출되기 때문에 Ajax.BeginForm을 사용하여 양식의 값을 채울 방법이 없습니다. Request.Form을 사용하여 양식 필드의 값을 가져올 수 있습니다. –