在一开始学习MVC的一点记录,翻出来记录着

1.关于自动新建本地数据库app_data文件夹下

Working with SQL Server LocalDB

Entity Framework Code First detected that the database connection string that was provided pointed to aMoviesdatabase that didn’t exist yet, so Code First created the database automatically. You can verify that it's been created by looking in theApp_Datafolder. If you don't see theMovies.mdffile, click theShow All Filesbutton in theSolution Explorertoolbar, click theRefreshbutton, and then expand theApp_Datafolder.

_ueditor_page_break_tag_

2.code first迁移失败

无法加载程序集“MvcMovie”(如果您是在Visual Studio内使用Code First迁移,而您的解决方案的启动项目不引用包含迁移的项目,就会发生这种情况。您可以更改解决方案的启动项目,或者使用-StartUpProjectName参数。)

解决方法:设置MvcMovie为启动项目

3.关于strongly-typed view

There are three ways to pass information from a controller to a view in ASP.NET MVC 3:

As a strongly typed model object.
	As a dynamic type (using @model dynamic)
	Using the ViewBag
	using System.Collections.Generic;
	using System.Web.Mvc;
	
	namespace Mvc3ViewDemo.Controllers {
	
	    public class Blog {
	        public string Name;
	        public string URL;
	    }
	
	    public class HomeController : Controller {
	
	        List<Blog> topBlogs = new List<Blog>
	      { 
	new Blog { Name = "ScottGu", URL = "http://weblogs.asp.net/scottgu/"},
	new Blog { Name = "Jon Galloway", URL = "http://weblogs.asp.net/jgalloway"},
	new Blog { Name = "Scott Hanselman", URL = "http://www.hanselman.com/blog/"}
	      };
	
	        public ActionResult IndexNotStonglyTyped() {
	            return View(topBlogs);
	        }
	
	        public ActionResult StonglyTypedIndex() {
	            return View(topBlogs);
	        }
	
	        public ActionResult IndexViewBag() {
	            ViewBag.BestBlogs = topBlogs;
	            return View();
	        }
	    }
	}

不使用强类型的情况:

@model dynamic
           
@{
    ViewBag.Title = "IndexNotStonglyTyped";
}

<h2>Index Not Stongly Typed</h2>

<p>
 <ul>
@foreach (var blog in Model) {
   <li>
    <a href="@blog.URL">@blog.Name</a>
   </li>   
}
 </ul>
</p>


使用强类型的情况:

blob.png

使用viewbag的情况:

@{
    ViewBag.Title = "Index_ViewBag";
}

<h2>Index View Bag</h2>

<p>
 <ul>
@foreach (var blog in ViewBag.BestBlogs) {
   <li>
    <a href="@blog.URL">@blog.Name</a>
   </li>   
}
 </ul>
</p>

备注:controller里的一个方法对应一个视图,要写多个页面的话,要新增视图方法。

最后修改:2014 年 07 月 07 日
如果觉得我的文章对你有用,请随意赞赏