C# 如何在mvc实体框架5中将视图和部分视图数据保存到数据库
这是我的控制器代码。我有一个观点,里面我有一个局部观点。在部分视图的末尾,我有一个提交按钮。单击此按钮时,我想将主视图和局部视图的数据保存到各自的表中C# 如何在mvc实体框架5中将视图和部分视图数据保存到数据库,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,这是我的控制器代码。我有一个观点,里面我有一个局部观点。在部分视图的末尾,我有一个提交按钮。单击此按钮时,我想将主视图和局部视图的数据保存到各自的表中 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication2.Models; using System.Data.Entity.Validation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication2.Models;
using System.Data.Entity.Validation;
namespace MvcApplication2.Controllers
{
public class HomePageController : Controller
{
//
// GET: /HomePage/
MVCDemoEntities db = new MVCDemoEntities();
public ActionResult Submit()
{
List<DocTypeMaster> alldoclist = new List<DocTypeMaster>();
using (MVCDemoEntities db = new MVCDemoEntities())
{
alldoclist = db.DocTypeMasters.OrderBy(a => a.DocTypeName).ToList();
}
ViewBag.docid = new SelectList(alldoclist, "Id", "DocTypeName");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Submit(DetailsEntry de)
{
List<DocTypeMaster> alldoclist = new List<DocTypeMaster>();
using (MVCDemoEntities db = new MVCDemoEntities())
{
alldoclist = db.DocTypeMasters.OrderBy(a => a.DocTypeName).ToList();
}
ViewBag.docid = new SelectList(alldoclist, "Id", "DocTypeName", de.DocumentId);
return View(de);
}
[HttpGet]
public PartialViewResult RacersByCountryPartial(string id)
{
Passport ps = new Passport();
Pan pn = new Pan();
string id1 = id.Trim();
if (id1 == "Passport")
return PartialView("~/Views/HomePage/id1.cshtml", ps);
else
return PartialView("~/Views/HomePage/pancard.cshtml", pn);
}
[HttpPost]
public ActionResult RacersByCountryPartial(string id,Passport ps, Pan pn,DetailsEntry dt)
{
return View(id);
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.Mvc;
使用mvcapapplication2.模型;
使用System.Data.Entity.Validation;
命名空间mvcapapplication2.Controllers
{
公共类HomePageController:控制器
{
//
//获取/主页/
MVCDemoEntities db=新的MVCDemoEntities();
公共行动结果提交()
{
List alldoclist=新列表();
使用(MVCDemoEntities db=new MVCDemoEntities())
{
alldoclist=db.DocTypeMasters.OrderBy(a=>a.DocTypeName.ToList();
}
ViewBag.docid=新的SelectList(alldoclist,“Id”,“DocTypeName”);
返回视图();
}
[HttpPost]
[ValidateAntiForgeryToken]
公共行动结果提交(详细信息)
{
List alldoclist=新列表();
使用(MVCDemoEntities db=new MVCDemoEntities())
{
alldoclist=db.DocTypeMasters.OrderBy(a=>a.DocTypeName.ToList();
}
ViewBag.docid=新的SelectList(alldoclist,“Id”,“DocTypeName”,de.DocumentId);
返回视图(de);
}
[HttpGet]
public PartialViewResult RacersByCountryPartial(字符串id)
{
Passport ps=新护照();
Pan pn=新Pan();
字符串id1=id.Trim();
如果(id1=“护照”)
返回PartialView(“~/Views/HomePage/id1.cshtml”,ps);
其他的
返回PartialView(“~/Views/HomePage/pancard.cshtml”,pn);
}
[HttpPost]
公共行动结果RacersByCountryPartial(字符串id、Passport ps、Pan pn、DetailsEntry dt)
{
返回视图(id);
}
}
}
这是我的主要观点
@model MvcApplication2.DetailsEntry
@{
ViewBag.Title = "Submit";
}
<h2>Submit</h2>
@using (Html.BeginForm("Submit", "HomePage", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>DetailsEntry</legend>
<div class="editor-label">
@Html.LabelFor(model => model.ClientId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ClientId)
@Html.ValidationMessageFor(model => model.ClientId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ClientName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ClientName)
@Html.ValidationMessageFor(model => model.ClientName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.EmployeeId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EmployeeId)
@Html.ValidationMessageFor(model => model.EmployeeId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.EmpCitizenId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EmpCitizenId)
@Html.ValidationMessageFor(model => model.EmpCitizenId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.EmpName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.EmpName)
@Html.ValidationMessageFor(model => model.EmpName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Nationality)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Nationality)
@Html.ValidationMessageFor(model => model.Nationality)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.DocumentId)
</div>
<div class="editor-field">
@Html.DropDownListFor(Model => Model.DocumentId, @ViewBag.docid as SelectList,"Select document Type")
@Html.ValidationMessageFor(Model=>Model.DocumentId)
</div>
</fieldset>
}
<div id="container"> </div>
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="scripts/jquery-1.8.2.js"></script>
<script src="~/Scripts/jquery-1.7.1.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#DocumentId").change(function () {
$("#log").ajaxError(function (event, jqxhr, settings, exception) {
alert(exception);
});
var countrySelected = $("select option:selected").first().text();
$.get('@Url.Action("RacersByCountryPartial")',
{ id: countrySelected }, function (data) {
$("#container").html(data);
});
});
});
</script>
@model mvcapapplication2.DetailsEntry
@{
ViewBag.Title=“提交”;
}
提交
@使用(Html.BeginForm(“提交”、“主页”、FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
哨兵
@LabelFor(model=>model.ClientId)
@EditorFor(model=>model.ClientId)
@Html.ValidationMessageFor(model=>model.ClientId)
@LabelFor(model=>model.ClientName)
@EditorFor(model=>model.ClientName)
@Html.ValidationMessageFor(model=>model.ClientName)
@LabelFor(model=>model.EmployeeId)
@EditorFor(model=>model.EmployeeId)
@Html.ValidationMessageFor(model=>model.EmployeeId)
@LabelFor(model=>model.EmpCitizenId)
@EditorFor(model=>model.EmpCitizenId)
@Html.ValidationMessageFor(model=>model.EmpCitizenId)
@LabelFor(model=>model.EmpName)
@EditorFor(model=>model.EmpName)
@Html.ValidationMessageFor(model=>model.EmpName)
@LabelFor(model=>model.national)
@EditorFor(model=>model.national)
@Html.ValidationMessageFor(model=>model.national)
@LabelFor(model=>model.DocumentId)
@Html.DropDownListFor(Model=>Model.DocumentId,@ViewBag.docid作为SelectList,“选择文档类型”)
@Html.ValidationMessageFor(Model=>Model.DocumentId)
}
$(文档).ready(函数(){
$(“#DocumentId”).change(函数(){
$(“#log”).ajaxError(函数(事件、jqxhr、设置、异常){
警报(例外);
});
var countrySelected=$(“选择选项:选定”).first().text();
$.get('@Url.Action(“RacersByCountryPartial”),
{id:countrySelected},函数(数据){
$(“#容器”).html(数据);
});
});
});
这是我的部分观点
@model MvcApplication2.Passport
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Passport</legend>
<div class="editor-label">
@Html.LabelFor(model => model.pissueddate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.pissueddate)
@Html.ValidationMessageFor(model => model.pissueddate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.pissuedlocation)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.pissuedlocation)
@Html.ValidationMessageFor(model => model.pissuedlocation)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.pimage)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.pimage)
@Html.ValidationMessageFor(model => model.pimage)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@model mvcapapplication2.Passport
@使用(Html.BeginForm()){
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
护照
@LabelFor(model=>model.pissueddate)
@EditorFor(model=>model.pissueddate)
@Html.ValidationMessageFor(model=>model.pissueddate)
@LabelFor(model=>model.pissuedlocation)
@EditorFor(model=>model.pissuedlocation)
@Html.ValidationMessageFor(model=>model.pissuedlocation)
@LabelFor(model=>model.pimage)
@EditorFor(model=>model.pimage)
@Html.ValidationMessageFor(model=>model.pimage)
}
@ActionLink(“返回列表”、“索引”)
在部分视图的末尾有一个提交按钮。我想将主视图和部分视图数据保存在单个按钮上,然后单击相应的表。请告诉我。所以,如果我正确理解你想要实现的目标