다른 사람들에게 이것이 문제가되었다는 것을 알고 있지만, 아직 내 문제를 해결하는 것을 찾지 못했습니다.Json 결과가 처리되는 대신 브라우저에 "다른 이름으로 저장"대화 상자가 표시됩니다. ASP.NET MVC
라이트 박스 (컬러 박스)에 표시되는 부분보기가 있습니다. 그것은 간단한 형태입니다. 양식을 제출하고 약간의 데이터를 반환하기를 원합니다. 데이터는 후속 함수를 호출 할 때 사용되며, 기본 DIV가 "성공"메시지로 업데이트되도록합니다. 부분보기의 전체 코드는 다음과 같습니다.
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Solution2.Models.Category>" %>
<script type="text/javascript">
$('propcatform').submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: $(this).attr("action"),
data: $(this).serialize(),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(data) { document.getElementById('main1').innerHTML = "Success"; },
failure: function() { document.getElementById('main1').innerHTML = "Failure"; }
})
});
</script>
<% using (Html.BeginForm(null, null, FormMethod.Post, new { id = "propcatform", name = "propcatform" }))
{%>
<div id="main1">
<fieldset>
<legend>Fields</legend>
<p>
<label for="CatTitle">Category Title:</label>
<%= Html.TextBox("CatTitle") %>
<%= Html.ValidationMessage("CatTitle", "*") %>
</p>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
</div>
<% } %>
여기 내 컨트롤러 코드입니다. 이 코드는 테이블/데이터베이스에 양식 데이터를 성공적으로 추가한다는 점에서 작동합니다. "반환"라인은 정확히 무엇이되어야합니까? 현재 내가 실제로 내 부분보기 코드에서 결과 데이터 (내 "성공"매개 변수를 참조하더라도) 중 하나를 사용하지 않는
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Create(Category propcat)
{
Category resultcat = new Category();
_db.Categories.InsertOnSubmit(propcat);
_db.SubmitChanges();
resultcat = propcat;
return Json(new { CatID = resultcat.CatID, CatTitle = resultcat.CatTitle, message = "Category successfully created!" });
}
. 나는 그것을 작동 시키려고 노력 중이고 결과를 저장하라는 메시지를 표시하지 않는다.
감사합니다.
감사합니다. 내가하고 싶은 것을 가장 잘 처리 할 수있는 제안은 무엇입니까? 컬러 박스에 간단한 폼을 표시하고 처리하는 것입니까? 나는이 모든 것에 아주 새로운 사람이다. – johnnycakes
업데이트가 수정되었습니다. –