目的是想使用mvc 2 提供的强类型htmlhelper,模型验证等等优点;
因为之前未接触过强类型dataset,所以先我查阅了如何实际使用强类型Dataset。
1.在空mvc站点中的models文件夹,新建xsd数据集文件DataSet1.xsd,拖入一个数据库中的表,保存。
2.放入微软sqlhelper.cs到models文件夹中
3.models文件夹添加动软生成的一层代码Ipcollate.cs文件.除了代码中model,怕错误太多,先测试插入,屏蔽其他成员方法只剩一个
public DataSet1 GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select * ");
strSql.Append(" FROM Ipcollate ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
string[] tablenames = new string[] { ds1.Ipcollate.TableName };
SqlHelper.FillDataset(connectionString, CommandType.Text, strSql.ToString(), ds1, tablenames);
return ds1;
}
4.在Controllers中新建HomeController.cs---ActionResult Index()
public ActionResult Index()
{
Ipcollate ip = new Ipcollate();
DataSet1 ip_ds = ip.GetList("");
return View(ip_ds.Ipcollate);
}
5.添加view,选择WeekReportDB.Ipcollate创建强类型的视图
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<WeekReportDB.Ipcollate>" %>
导入<%@ Import Namespace="MvcApplication18.Models" %>//就是刚才dataset1那个强类型的dataset文件的命名空间
<%@ Import Namespace="System.Data"%>
创建的htmlhelper 如 <%: Html.LabelFor(model => model.IpcollateID) %> 调试错误 传入字典的模型项的类型为“MvcApplication18.Models.DataSet1+IpcollateDataTable”,但此字典需要类型“WeekReportDB.Ipcollate”的模型项。 断点打在HomeController.cs中 DataSet1 ip_ds = ip.GetList("");ip_ds已经获取到了数据库中的表怎么办呢?
因为之前未接触过强类型dataset,所以先我查阅了如何实际使用强类型Dataset。
1.在空mvc站点中的models文件夹,新建xsd数据集文件DataSet1.xsd,拖入一个数据库中的表,保存。
2.放入微软sqlhelper.cs到models文件夹中
3.models文件夹添加动软生成的一层代码Ipcollate.cs文件.除了代码中model,怕错误太多,先测试插入,屏蔽其他成员方法只剩一个
public DataSet1 GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select * ");
strSql.Append(" FROM Ipcollate ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
string[] tablenames = new string[] { ds1.Ipcollate.TableName };
SqlHelper.FillDataset(connectionString, CommandType.Text, strSql.ToString(), ds1, tablenames);
return ds1;
}
4.在Controllers中新建HomeController.cs---ActionResult Index()
public ActionResult Index()
{
Ipcollate ip = new Ipcollate();
DataSet1 ip_ds = ip.GetList("");
return View(ip_ds.Ipcollate);
}
5.添加view,选择WeekReportDB.Ipcollate创建强类型的视图
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<WeekReportDB.Ipcollate>" %>
导入<%@ Import Namespace="MvcApplication18.Models" %>//就是刚才dataset1那个强类型的dataset文件的命名空间
<%@ Import Namespace="System.Data"%>
创建的htmlhelper 如 <%: Html.LabelFor(model => model.IpcollateID) %> 调试错误 传入字典的模型项的类型为“MvcApplication18.Models.DataSet1+IpcollateDataTable”,但此字典需要类型“WeekReportDB.Ipcollate”的模型项。 断点打在HomeController.cs中 DataSet1 ip_ds = ip.GetList("");ip_ds已经获取到了数据库中的表怎么办呢?
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<DataSet1.IpcollateRow>" %>
<%@ Import Namespace="MvcApplication18.Models" %>
之后 正确显示数据库中的值,没有报错。不过测试了下mvc自动验证,好像不起作用了……