好的家伙所以我是MVC的新手我已经构建了模型和控制器来将数据插入到sql表中,但现在我想将这些数据检索到另一个View。到目前为止我的代码:
所以我有一个名为“ProductTable”的sql表,其中包含4个实体“ID”“Name”“Broi”和“Cena”
CREATE TABLE [dbo].[ProductTable] (
[ID] INT IDENTITY (1, 1) NOT NULL,
[Name] NCHAR (10) NOT NULL,
[Broi] INT NOT NULL,
[Cena] NCHAR (10) NOT NULL,
PRIMARY KEY CLUSTERED ([ID] ASC)
);
我已经在此表中保存了一些数据
我有一个模型类
[Table("ProductTable")]
public class ProductTable
{
//public int ID { get; set; }
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public string Name { get; set; }
public int Broi { get; set; }
public int Cena { get; set; }
}
和DbContext的另一个模型类
public class DefaultConnection : DbContext
{
public DbSet<ProductTable> Products { get; set; }
}
控制器从View中检索数据并将其传递给模型
public ActionResult Table()
{
return View(new ProductTable());
}
[HttpPost]
public ActionResult Table(ProductTable product)
{
if (!ModelState.IsValid)
{
return View(product);
}
using (var contex = new DefaultConnection())
{
contex.Products.Add(product);
contex.SaveChanges();
}
return View();
}
和使用TextBoxes和提交按钮查看此控制器 但现在我想要检索保存的数据并将其显示给anoter View。 我试过这个但是我收到了一个错误:
'ProductTable'上的'Cena'属性无法设置为'String'值。您必须将此属性设置为“Int32”
类型的非null值
private DefaultConnection db = new DefaultConnection();
public ViewResult TableData()
{
return View(db.Products.ToList());
}
答案 0 :(得分:0)
在数据库表格中,cena
列的类型为NChar
,而model
的列为type int
//Change this
public int Cena { get; set; }
//to this
public String Cena { get; set; }