Asp.net mvc ASP.net MVC和视图内部引导模式

Asp.net mvc ASP.net MVC和视图内部引导模式,asp.net-mvc,twitter-bootstrap,bootstrap-modal,Asp.net Mvc,Twitter Bootstrap,Bootstrap Modal,关于这个问题,我已经有一段时间碰壁了。我不知道如何在不刷新主视图的情况下在模态中进行回发 我有一个视图具有以下引导模式 <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 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">&times;</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>
每当我在modal中单击submit时,整个视图都会被提交,我想完成的是只提交BasicCreate。作为参考,BasicCreate控制器激发ok,并创建新的Kontakt

编辑
我一直在尝试各种各样的方法,我能够定位问题,但没有找到问题的原因。似乎BasicCreate控制器会进行回发,无论我将哪种类型设置为返回对象,无论它是void、ActionResult、空视图。。。它总是回发和重定向到
/Kontakt/BasicCreate

您可以使用如下AJAX调用:

$('form').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
});

然后,您可能需要添加验证或检查服务器结果

这可能就是解决方案,但是,模式内的视图具有主视图的表单值,即
相同。只需将控制器和操作参数添加到
@Html.BeginForm()中即可
BasicCreate
视图中调用。我调用了,得到的只是/Kontakt/BasicCreate的空白视图谢谢。当你说“我得到的只是/Kontakt/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();
        }
    }
$('form').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
});