• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
Bule 2012年09月13日
MVC 求大神指点
小弟刚刚看了几天MVC,有一些地方不是很明白,希望各位帮忙讲解一下。
(1)MVC的路由机制
MVC中路由有好几种定义,比如{controller}/{action}/{id}或者{reporttype}/{year}/{month}/{day},系统路由设置是放在Global.asax文件中的,,,貌似只能设置一种默认路由吧,一般默认为{controller}/{action}/{id},一个系统中只能有一个路由定义吗?那如果我打开报表,该怎么打开呢?
(2)MVC怎么从数据库中已存在的表中读取数据,而不是通过EFCodeFirst方式新增的表。
(3)我自定义了一个远程验证(Remote Validation),当不满足条件时是可以验证,但是当我保存数据的时候,确没反应。如果把我在Model上把它的特性去掉,就可以保存了。
代码如下:
Controller
public JsonResult CheckTitleUnqie(string Title)
{
if (Title.Length > 5)
{
return Json("标题太长了", JsonRequestBehavior.AllowGet);
}
else
{
return Json("",JsonRequestBehavior.DenyGet);
}
}
下面这个保存方法根本进不来。
[HttpPost]
public ActionResult Edit(Movie model)
{
var movie = db.Movies.Find(model.ID);
try
{
UpdateModel(movie);
db.SaveChanges();
return RedirectToAction("Details", new { id = movie.ID });
}
catch (Exception e)
{
ModelState.AddModelError("", "修改失败");
}
return View(movie);
}

Model:
public class Movie
{
public int ID { get; set; }
[Required(ErrorMessage="电影标题不能为空")]
//[StringLength(10,ErrorMessage="电影标题不能超过10个字符")]
[Remote("CheckTitleUnqie", "Movie")]
public string Title { get; set; }
public DateTime ResealseDate { get; set; }
//[Required(ErrorMessage = "价格不能为空")]
[Price(ErrorMessage = "价格不合理")]
//[RegularExpression(@"^(0|1-9\d)$",ErrorMessage="")]
public float Prices { get; set;}
[Required(ErrorMessage = "{0}不能为空")]
public string Type { get; set; }
}
视图的就不贴了,应该没关系吧。
...全文
66 点赞 收藏 4
写回复
4 条回复

还没有回复,快来抢沙发~

发动态
发帖子
.NET技术社区
创建于2007-09-28

4.8w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告