Asp.net mvc 5 在ASP.NETMVC5中如何在网格中显示数据库表/数据
我有两个表Asp.net mvc 5 在ASP.NETMVC5中如何在网格中显示数据库表/数据,asp.net-mvc-5,grid,Asp.net Mvc 5,Grid,我有两个表tblCompany和tblProduct。 我想在数据库中添加详细信息,我成功地做到了这一点。 我想通过@foreach在网格中显示此详细信息,但在将ListBox值GetCompanyList()和网格GetProductDetails()的数据从同一控制器显示到同一视图时发生冲突 我尝试了很多方法在网格中显示数据,并浏览了may站点,所有站点都使用单独的控制器和视图进行解释,但我希望在单个控制器和视图中显示数据。我正在使用实体框架 我会发布我的完整代码,这样你们就可以帮我了。请参
tblCompany
和tblProduct
。
我想在数据库中添加详细信息,我成功地做到了这一点。
我想通过@foreach
在网格中显示此详细信息,但在将ListBox值GetCompanyList()
和网格GetProductDetails()
的数据从同一控制器显示到同一视图时发生冲突
我尝试了很多方法在网格中显示数据,并浏览了may站点,所有站点都使用单独的控制器和视图进行解释,但我希望在单个控制器和视图中显示数据。我正在使用实体框架
我会发布我的完整代码,这样你们就可以帮我了。请参见随附的屏幕截图以获取输出
输出屏幕截图
ProductDBController.cs
using MVC.Models;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVC.Controllers
{
public class ProductDBController : Controller
{
ProductDBEntities PDBE = new ProductDBEntities();
//
// GET: /ProductDB/Index ==> ProductDBView
public ActionResult Index(ProductDBModel PDBM)
{
PDBM.CompanyNameList = GetCompanyList();
PDBM.ProductDetails = GetProductDetails();
return View("ProductDBView", PDBM);
}
public ActionResult AddCompanyName(tblCompany tC, string action)
{
if (action == "Add")
{
PDBE.tblCompanies.Add(tC);
PDBE.SaveChanges();
}
return RedirectToAction("Index");
}
public ActionResult AddProductDetails(tblProduct tP, string action)
{
if (action == "Add")
{
PDBE.tblProducts.Add(tP);
PDBE.SaveChanges();
}
return RedirectToAction("Index");
}
public SelectList *GetProductDetails()
{
List<GetProductDetails_Vw> Vw = PDBE.GetProductDetails_Vw.ToList();
return new SelectList(Vw);
}
public SelectList GetCompanyList()
{
tblCompany tC = new tblCompany();
tC.CompanyID = 0;
tC.CompanyName = "Select";
List<tblCompany> li = PDBE.tblCompanies.ToList();
li.Insert(0, tC);
return new SelectList(li, "CompanyID", "CompanyName");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVC.Models
{
public class ProductDBModel
{
public int CompanyID { get; set; }
public string CompanyName { get; set; }
public SelectList CompanyNameList { get; set; }
public int ProductID { get; set; }
public string ProductName { get; set; }
public string ProductDescription { get; set; }
public int ProductPrice { get; set; }
public SelectList ProductDetails { get; set; }
public IEnumerable<object> GetProductDetails_Vw { get; set; }
}
}
使用MVC.Models;
使用制度;
使用System.Collections.Generic;
使用系统配置;
使用系统数据;
使用System.Data.SqlClient;
使用System.Linq;
使用System.Web;
使用System.Web.Mvc;
命名空间MVC.Controllers
{
公共类ProductDBController:控制器
{
ProductDBEntities PDBE=新的ProductDBEntities();
//
//获取:/ProductDB/Index==>ProductDBView
公共行动结果索引(ProductDBModel PDBM)
{
PDBM.CompanyNameList=GetCompanyList();
PDBM.ProductDetails=GetProductDetails();
返回视图(“ProductDBView”,PDBM);
}
公共操作结果AddCompanyName(tblCompany tC,字符串操作)
{
如果(操作==“添加”)
{
PDBE.tblCompanies.Add(tC);
PDBE.SaveChanges();
}
返回操作(“索引”);
}
公共操作结果AddProductDetails(TBLPProduct tP,字符串操作)
{
如果(操作==“添加”)
{
PDBE.tblProducts.Add(tP);
PDBE.SaveChanges();
}
返回操作(“索引”);
}
公共选择列表*GetProductDetails()
{
List Vw=PDBE.GetProductDetails_Vw.ToList();
返回新的选择列表(Vw);
}
public SelectList GetCompanyList()
{
tblCompany tC=新tblCompany();
tC.CompanyID=0;
tC.CompanyName=“选择”;
List li=PDBE.tblCompanies.ToList();
li.插入(0,tC);
返回新的选择列表(li,“CompanyID”,“CompanyName”);
}
}
}
ProductDBModel.cs
using MVC.Models;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVC.Controllers
{
public class ProductDBController : Controller
{
ProductDBEntities PDBE = new ProductDBEntities();
//
// GET: /ProductDB/Index ==> ProductDBView
public ActionResult Index(ProductDBModel PDBM)
{
PDBM.CompanyNameList = GetCompanyList();
PDBM.ProductDetails = GetProductDetails();
return View("ProductDBView", PDBM);
}
public ActionResult AddCompanyName(tblCompany tC, string action)
{
if (action == "Add")
{
PDBE.tblCompanies.Add(tC);
PDBE.SaveChanges();
}
return RedirectToAction("Index");
}
public ActionResult AddProductDetails(tblProduct tP, string action)
{
if (action == "Add")
{
PDBE.tblProducts.Add(tP);
PDBE.SaveChanges();
}
return RedirectToAction("Index");
}
public SelectList *GetProductDetails()
{
List<GetProductDetails_Vw> Vw = PDBE.GetProductDetails_Vw.ToList();
return new SelectList(Vw);
}
public SelectList GetCompanyList()
{
tblCompany tC = new tblCompany();
tC.CompanyID = 0;
tC.CompanyName = "Select";
List<tblCompany> li = PDBE.tblCompanies.ToList();
li.Insert(0, tC);
return new SelectList(li, "CompanyID", "CompanyName");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVC.Models
{
public class ProductDBModel
{
public int CompanyID { get; set; }
public string CompanyName { get; set; }
public SelectList CompanyNameList { get; set; }
public int ProductID { get; set; }
public string ProductName { get; set; }
public string ProductDescription { get; set; }
public int ProductPrice { get; set; }
public SelectList ProductDetails { get; set; }
public IEnumerable<object> GetProductDetails_Vw { get; set; }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.Mvc;
名称空间MVC.Models
{
公共类ProductDBModel
{
public int CompanyID{get;set;}
公共字符串CompanyName{get;set;}
公共选择列表公司名称列表{get;set;}
public int ProductID{get;set;}
公共字符串ProductName{get;set;}
公共字符串ProductDescription{get;set;}
public int ProductPrice{get;set;}
public SelectList产品详细信息{get;set;}
公共IEnumerable GetProductDetails_Vw{get;set;}
}
}
ProductDBView.cshtml
@model MVC.Models.ProductDBModel
@{
ViewBag.Title = "Product Dashboard";
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Product Dashboard</title>
</head>
<body>
<div>
<table style="width:100%">
<tr>
<td style="width:30%">
@using (Html.BeginForm("AddCompanyName", "ProductDB", FormMethod.Post))
{
<table>
<tr>
<td>
Company Name
</td>
<td>
:
</td>
<td>
@Html.TextBoxFor(m => m.CompanyName)
</td>
</tr>
<tr>
<td colspan="3">
<br />
</td>
</tr>
<tr>
<td>
@*<input type="button" value="Add" onclick="location.href='@Url.Action("AddCompanyName", "ProductDB")'" />*@
<input type="submit" value="Add" name="action" />
</td>
<td></td>
<td>
<input type="button" value="Clear" name="action" />
</td>
</tr>
</table>
}
</td>
<td style="width:70%">
@using (Html.BeginForm("AddProductDetails", "ProductDB", FormMethod.Post))
{
<div>
<table>
<tr>
<td>
Company Name
</td>
<td>
:
</td>
<td>
@Html.DropDownListFor(m => m.CompanyID, Model.CompanyNameList)
</td>
<td>
Product Name
</td>
<td>
:
</td>
<td>
@Html.TextBoxFor(m => m.ProductName)
</td>
</tr>
<tr>
<td>
Product Description
</td>
<td>
:
</td>
<td>
@Html.TextAreaFor(m => m.ProductDescription)
</td>
<td>
Product Price
</td>
<td>
:
</td>
<td>
@Html.TextBoxFor(m => m.ProductPrice)
</td>
</tr>
<tr>
<td colspan="3">
<br />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Add" name="action" />
</td>
<td></td>
<td>
<input type="button" value="Clear" name="action" />
</td>
</tr>
</table>
</div>
}
</td>
</tr>
</table>
</div>
<hr />
<div>
<table>
===========================================================================
@foreach (var item in Model.ProductDetails)
{
<tr>
<td>@Html.DisplayFor(modelItem => Model.ProductID)</td>
<td>@Html.DisplayFor(modelItem => Model.CompanyName)</td>
<td>@Html.DisplayFor(modelItem => Model.ProductName)</td>
<td>@Html.DisplayFor(modelItem => Model.ProductDescription)</td>
<td>@Html.DisplayFor(modelItem => Model.ProductPrice)</td>
</tr>
}
===========================================================================
</table>
</div>
</body>
</html>
@model MVC.Models.ProductDBModel
@{
ViewBag.Title=“产品仪表板”;
布局=空;
}
产品仪表板
@使用(Html.BeginForm(“AddCompanyName”、“ProductDB”、FormMethod.Post))
{
公司名称
:
@Html.TextBoxFor(m=>m.CompanyName)
@**@
}
@使用(Html.BeginForm(“AddProductDetails”、“ProductDB”、FormMethod.Post))
{
公司名称
:
@DropDownListFor(m=>m.CompanyID,Model.CompanyNameList)
品名
:
@Html.TextBoxFor(m=>m.ProductName)
产品说明
: