我想让大家看看我的 mvc的结构对吗 代码写的位置对不对
@model web.Models.ResModels
@{
ViewBag.Title = "ResAdd";
}
<h2>物品录入</h2>
@using (Html.BeginForm())
{
<fieldset>
<legend>添加物品</legend>
物品名称: @Html.TextBoxFor(m => m.name)<br />
物品单位:@Html.TextBoxFor(m=>m.unit)<br />
物品价格:@Html.TextBoxFor(m=>m.price)<br />
<input type="submit" value="提交" />
</fieldset>
}
<div>
------------------------------------ view 的代码
public ActionResult ResAdd(ResModels model)
{
if (model.name == null || model.unit == null || model.price == null)
{
string name = model.name;
string unit = model.unit;
int price = model.price;
string sqlstring = "insert into ResTable(name,unit,price) values (@name,@unit,@price)";
SqlParameter[] para = new SqlParameter[]{
new SqlParameter("@name",model.name),
new SqlParameter("@unit",model.unit),
new SqlParameter("@price",model.price)
};
int i = new SQLHelper().ExecuteNonQuery(sqlstring, para, CommandType.Text);
if (i > 0)
{
return RedirectToAction("ResShow", "Res");
}
}
return View();
}
------------------------- 控制器的代码 想问一下 数据库的语句可以写到这里吗? 还有判断model是否为空 if (model.name == null || model.unit == null || model.price == null) 是这样判断吗 ? 先在mvc 与数据之间交互在项目中用什么技术 我看到网上说用eF 框架, 那比较大的项目可以用 ef 框架吗?
------解决方案--------------------
return View();
->
return View(model);
这样比较好,输入错误你应该返回用户已经输入的内容,以及最好有一个错误提示,你返回View就把用户辛苦输入的所有表单都清空了。
ef当然可以用于"比较大"的项目