이 문제와 관련하여 잠시 벽을 치고 있습니다. 주보기를 새로 고치지 않고 모드에서 다시 게시하는 방법을 모르겠습니다.ASP.net MVC 및 부트 스트랩 모달 내보기
나는
BasicCreate보기
을 다음 부트 스트랩 모달<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria- hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel"></h4>
</div>
<div class="modal-body">
@Html.Partial("~/Views/Kontakt/BasicCreate.cshtml", new IDE3_CRM.ViewModels.BasicKontaktViewModel())
</div>
</div>
</div>
이있는 전망을
@model IDE3_CRM.ViewModels.BasicKontaktViewModel
@{
Layout = null;
}
@using (Html.BeginForm("BasicCreate", "Kontakt", FormMethod.Post, new { id = "basicCreate" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.HiddenFor(model => Model.idFirma)
//Similar forms group are intentionally ommited, one below is left for the reference
<div class="form-group">
<label class="control-label col-md-2">Bilješke</label>
<div class="col-md-10">
@Html.TextAreaFor(model => model.Biljeske, new { @class = "form-control", @rows = "5" })
@Html.ValidationMessageFor(model => model.Biljeske)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Spremi" class="btn btn-default" />
</div>
</div>
</div>
}
<script type="text/javascript">
$(document).ready(function() {
$('#basicCreate').submit(function() { // you can use any selector that match your form
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize()
}).done(function (data) {
// Do something when server returns success!
});
return false; // prevent the form submission
});
})
</script>
BasicCreate 컨트롤러 :
[HttpPost]
[ValidateAntiForgeryToken]
public void BasicCreate([Bind(Include = "idKontakt,idOvlasti,idFirma,Username,Password,Ime,Prezime,Funkcija,Tel1,Mob1,Fax,Email1,Adresa1,Grad,Drzava,PostanskiBroj,Biljeske,Aktivan")] BasicKontaktViewModel kontakt, int? idCompany)
{
if (ModelState.IsValid)
{
Kontakt _kontakt = new Kontakt();
_kontakt.Adresa1 = kontakt.Adresa1;
_kontakt.Aktivan = true;
_kontakt.Biljeske = kontakt.Biljeske;
_kontakt.Drzava = "Hrvatska";
_kontakt.Email1 = kontakt.Email1;
_kontakt.Funkcija = kontakt.Funkcija;
_kontakt.Grad = kontakt.Grad;
_kontakt.idFirma = kontakt.idFirma;
_kontakt.idOvlasti = 4;
_kontakt.Ime = kontakt.Ime;
_kontakt.Mob1 = kontakt.Mob1;
_kontakt.Password = kontakt.Password;
_kontakt.Prezime = kontakt.Prezime;
_kontakt.Tel1 = kontakt.Tel1;
_kontakt.Username = kontakt.Username;
db.Kontakt.Add(_kontakt);
db.SaveChanges();
}
}
때마다 모달 내에서 제출을 클릭하면 전체보기가 전송되고 내가 수행하고자하는 것은 BasicCreate 만 제출하는 것입니다. 참고로 BasicCreate 컨트롤러가 정상적으로 작동하고 새 Kontakt가 생성됩니다.
편집 나는 방법의 다양한 실험을 봤는데 문제가 아니라 그것에 대한 이유를 지역화 할 수 있었다. 그것은 BasicCreate 컨트롤러가 어떤 유형의 리턴 객체로 설정 되든 포스트 백을하는 것으로 보입니다. void, ActionResult, 빈 뷰 등 ... 항상 포스트 백하고 리디렉션됩니다. /Kontakt/BasicCreate
서버 결과를 확인 할 수 있습니다, 그러나,보기 모달 내부 = "/ 티켓/편집 메인보기 즉'<양식 액션의 형태로 값이/4143 "method ="post ">는 동일합니다. –
'BasicCreate' 뷰에서 컨트롤러와 액션 파라미터를'@ Html.BeginForm()'호출에 추가하기 만하면됩니다. – Groyoh
내가 한 모든 것은/Kontakt/BasicCreate의 빈보기입니다. –