Jquery 部分视图中的部分视图不过帐
我对MVC的整个运作方式还比较陌生,所以请耐心听我说 我目前正在开发一个现有的MVC网站,根据需要添加管理功能。有一个主管理视图。所有其他CRUD操作都由加载到单个管理视图中的部分视图处理。到目前为止,添加所有这些局部视图都没有问题。现在,有两个表:电子邮件队列和Smtp服务器。业务规则规定,在创建电子邮件队列记录之前,您必须拥有Smtp_服务器记录 因此,为了让用户感觉更好,我可以选择在电子邮件队列的createpartial视图中创建一个Smtp_服务器。我可以在模式弹出窗口中打开Smtp_服务器的创建部分视图…我可以触发其所有验证(在模型中设置)…我可以使用取消按钮关闭模式弹出窗口。但是,我似乎无法获得Smtp_服务器部分视图上的submit按钮进行发布 所有这些的最终目标是最终发布,然后在Email_队列中有一个下拉列表,使用我刚刚添加的新Smtp_服务器更新部分视图。现在,我很高兴Smtp_服务器只保存我输入的内容 这里有一些代码。首先,Email_Queue部分视图(我删除了额外的字段以缩短它): 如果我需要发布更多的代码,请让我知道Jquery 部分视图中的部分视图不过帐,jquery,asp.net-mvc-3,razor,Jquery,Asp.net Mvc 3,Razor,我对MVC的整个运作方式还比较陌生,所以请耐心听我说 我目前正在开发一个现有的MVC网站,根据需要添加管理功能。有一个主管理视图。所有其他CRUD操作都由加载到单个管理视图中的部分视图处理。到目前为止,添加所有这些局部视图都没有问题。现在,有两个表:电子邮件队列和Smtp服务器。业务规则规定,在创建电子邮件队列记录之前,您必须拥有Smtp_服务器记录 因此,为了让用户感觉更好,我可以选择在电子邮件队列的createpartial视图中创建一个Smtp_服务器。我可以在模式弹出窗口中打开Smtp_
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");
}