Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 部分视图中的部分视图不过帐_Jquery_Asp.net Mvc 3_Razor - Fatal编程技术网

Jquery 部分视图中的部分视图不过帐

Jquery 部分视图中的部分视图不过帐,jquery,asp.net-mvc-3,razor,Jquery,Asp.net Mvc 3,Razor,我对MVC的整个运作方式还比较陌生,所以请耐心听我说 我目前正在开发一个现有的MVC网站,根据需要添加管理功能。有一个主管理视图。所有其他CRUD操作都由加载到单个管理视图中的部分视图处理。到目前为止,添加所有这些局部视图都没有问题。现在,有两个表:电子邮件队列和Smtp服务器。业务规则规定,在创建电子邮件队列记录之前,您必须拥有Smtp_服务器记录 因此,为了让用户感觉更好,我可以选择在电子邮件队列的createpartial视图中创建一个Smtp_服务器。我可以在模式弹出窗口中打开Smtp_

我对MVC的整个运作方式还比较陌生,所以请耐心听我说

我目前正在开发一个现有的MVC网站,根据需要添加管理功能。有一个主管理视图。所有其他CRUD操作都由加载到单个管理视图中的部分视图处理。到目前为止,添加所有这些局部视图都没有问题。现在,有两个表:电子邮件队列和Smtp服务器。业务规则规定,在创建电子邮件队列记录之前,您必须拥有Smtp_服务器记录

因此,为了让用户感觉更好,我可以选择在电子邮件队列的createpartial视图中创建一个Smtp_服务器。我可以在模式弹出窗口中打开Smtp_服务器的创建部分视图…我可以触发其所有验证(在模型中设置)…我可以使用取消按钮关闭模式弹出窗口。但是,我似乎无法获得Smtp_服务器部分视图上的submit按钮进行发布

所有这些的最终目标是最终发布,然后在Email_队列中有一个下拉列表,使用我刚刚添加的新Smtp_服务器更新部分视图。现在,我很高兴Smtp_服务器只保存我输入的内容

这里有一些代码。首先,Email_Queue部分视图(我删除了额外的字段以缩短它):

如果我需要发布更多的代码,请让我知道


TL;DR版本:好吧,看看标题。

你能不能在单击时强制提交按钮提交

<input type="submit" name="btnSubmit" value="Submit Form" onclick="this.form.submit()" />
MVC控制器

public jsonresult somename(string id, string parameter)
{ 
return Json("SUCCESS");
}


实际上,我最终还是使用jQuery来发布部分视图。一切都保存了,现在我只需要关闭模式弹出窗口并在成功时更新下拉列表。
[HttpPost]
    public virtual PartialViewResult _QueueCreate(Email_SmtpServerModel model, FormCollection fc)
    {
        ViewBag.HasError = "none";
        try
        {
            string errorMessage = "";
            BusinessLogic.Email_SmtpServer dbESS = new BusinessLogic.Email_SmtpServer(AppManager.GetUser(User.Identity.Name).ConnectionString);
            model.SMTPServerId = System.Guid.NewGuid();
            model.CreatedDateGMT = DateTime.Now;
            model.CreatedUserId = AppManager.GetUser(User.Identity.Name).UserId;

            if (dbESS.Insert(model, out errorMessage))
            {
                ModelState.AddModelError("", errorMessage);
            }
            else
            {
                ViewBag.HasError = "none";
                return PartialView("../Email_Queue/_Create");
            }
        }
        catch
        {
            ViewBag.HasError = "true";
            return PartialView("../Email_Queue/_Create");
        }
        return PartialView(model);
    }
<input type="submit" name="btnSubmit" value="Submit Form" onclick="this.form.submit()" />
$('input[name="btnSubmit"').click(function() {
//you will need to get form variables

$.ajax({
type:"POST",
data: { id = var1, parameter = var2 }
datatype: "json",
success: function (data){
//whatever needs done
},
error: function(){
alert("error");
}

});
public jsonresult somename(string id, string parameter)
{ 
return Json("SUCCESS");
}
public jsonresult somename(FormCollection fc)
{
strind id = fc["id"];
string parameter = fc["parameter"];
return Json("SUCCESS");
}