이 문제는 많이 있지만 지금은 정답으로 검색했습니다.버튼 클릭 후 부분보기로드
footer의 _Layout 페이지에 문의 양식이 있지만 버튼을 클릭하면 부분보기가 새 페이지에서 열립니다.
jquery.unobtrusive-ajax.js를 반드시 포함해야합니다. 여기에 내가 가진 것이있다.
컨트롤러 : 스크립트 _Layout
[HttpGet]
public ActionResult Call()
{
return PartialView("_PartialFooter");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Call(CallMe callMe)
{
if(ModelState.IsValid)
{
}
return PartialView("_PartialFooter");
}
바닥
@using (Ajax.BeginForm("Call", "Home", new AjaxOptions { UpdateTargetId = "result" }))
{
<div id="result" class="margin-bottom-5">
@Html.Action("Call", "Home")
</div>
<button class="btn btn-common-small margin-bottom-10 pull-right" type="submit">Send</button>
}
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/myscripts")
@RenderSection("scripts", required: false)
@section Scripts {
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
}
_PartialFooter (부분도) 누군가가
@model servicemadsen.Models.CallMe
@Html.AntiForgeryToken()
<div class="row">
<div id="result" class="margin-bottom-5">
<div class="col-md-6">
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control", @placeholder = "Navn" } })
</div>
<div class="col-md-6">
@Html.EditorFor(model => model.Phone, new { htmlAttributes = new { @class = "form-control", @placeholder = "Telefon" } })
</div>
<div class="col-md-12">
@Html.TextAreaFor(model => model.CallMeMessage, new { @class = "form-control", @placeholder = "Besked", @cols = 80, @rows = 7 })
</div>
<div class="col-md-12">
@Html.ValidationMessageFor(model => model.Name, string.Empty, new { @class = "field-validation-error" })
@Html.ValidationMessageFor(model => model.Phone, string.Empty, new { @class = "field-validation-error" })
@Html.ValidationMessageFor(model => model.CallMeMessage, string.Empty, new { @class = "field-validation-error" })
</div>
</div>
</div>
희망을 도울 수있는 바디 태그를 자사의 아마도 내가 필요로하는 어떤 거짓말 쟁이
리디렉션하는 경우'jquery.unobtrusive-ajax.js'가 올바르게로드되지 않았다는 의미입니다. 레이아웃에서'@section Scripts {'를 갖는 것은 의미가 없으며 그 부분은 jquery의 두 번째 사본을 포함합니다. 'jquery.unobtrusive-ajax.js' 파일을'@ Scripts.Render ("~/bundles/myscripts")'다음에 옮깁니다 (또는'jqueryval' 번들을 더 잘 사용하고'@section 스크립트 {' –