初学.net 不知道怎么写 写了也不知道对不对 请高手指教
controller代码 public ActionResult SearchIndex(string seltype, string title)
{
Models.UmUser.User user = new Models.UmUser.User();
..........
DataSet ds;
OracleParameter[] pars = new OracleParameter[]
{
new OracleParameter("acount",OracleDbType.NVarchar2,20)
};
pars[0].Value = title;
pars[0].Direction = ParameterDirection.Input;
try
{
ds = orh.ExecuteDataSet("pkg_ur_user.pkg_selLikeUserByAcount", "umuser", CommandType.StoredProcedure, pars); //访问存储过程,根据acount查询用户
ViewBag.viewds = ds; //dataset 可以用viewbag这样传吗?
//传过去以后在view中 SearchIndex.cshtml 怎么接收,怎么把数据显示呢
}
catch
{} return View(user);
}
controller代码 public ActionResult SearchIndex(string seltype, string title)
{
Models.UmUser.User user = new Models.UmUser.User();
..........
DataSet ds;
OracleParameter[] pars = new OracleParameter[]
{
new OracleParameter("acount",OracleDbType.NVarchar2,20)
};
pars[0].Value = title;
pars[0].Direction = ParameterDirection.Input;
try
{
ds = orh.ExecuteDataSet("pkg_ur_user.pkg_selLikeUserByAcount", "umuser", CommandType.StoredProcedure, pars); //访问存储过程,根据acount查询用户
ViewBag.viewds = ds; //dataset 可以用viewbag这样传吗?
//传过去以后在view中 SearchIndex.cshtml 怎么接收,怎么把数据显示呢
}
catch
{} return View(user);
}
我修改了一下
public ActionResult SearchIndex(string seltype, string title)
{
IList<User> user1 = new List<User>();//用 IList
..........
DataSet ds;
OracleParameter[] pars = new OracleParameter[]
{
new OracleParameter("acount",OracleDbType.NVarchar2,20)
};
pars[0].Value = title;
pars[0].Direction = ParameterDirection.Input
try
{
ds = orh.ExecuteDataSet("pkg_ur_user.pkg_selLikeUserByAcount", "umuser", CommandType.StoredProcedure, pars); //访问存储过程,根据acount查询用户//将dataset放入dataview
//然后将dataview中的内容add到ilist
//这样就可以在return中使用 tolist()方法
//主要做可以不? System.Data.DataView catView =
//vds.Tables[0].DefaultView;
new System.Data.DataView(ds.Tables["TB_UR_USER"]);
foreach (System.Data.DataRowView rowView in catView)
{
User user2 = new User();
user2.Usercode = rowView[0].ToString();
user2.Nickname = rowView[1].ToString();
user2.Acount = rowView[2].ToString(); user1.Add(user2); }
catch
{} return View(user1.ToList());
}
@model IEnumerable<hn12396.Models.UmUser.User>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>SearchIndex</h2>@foreach (var item in Model)
{
<p>@item.Usercode</p>
<p>@item.Nickname</p>
<p>@item.Acount</p>
<br />
}
还是请高手指点一下 这样写有没有错误
为什么运行后还是显示不出查询的数据
页面上
var data= ViewBag.data as DataSet;
当然 你要在页面上引用dataset的命名空间。
using System.Data;好像是这个吧
return view(ds) 你要创建一个和SearchIndex()方法名相同的view视图,在创建视图的对话框中有个下拉选项选择list.人家微软都已经给你做好了,会自己生成一个table,展现你的数据。
你的做法也没问题,主要是断点调试下,看看ds.Tables["TB_UR_USER"]里面有没有数据。
DataSet ds = ……;
ViewData["key1"] = ds;在页面使用的使用:
@{
DataSet ds = ViewBag.key1 as DataSet; // 或者ViewData["key1"]
// 操作ds
}