我想在 mvc3 .cshtm 文件中编写一些 sql 查询(插入/更新)并相应地执行操作。我是新手,所以我需要帮助。先感谢您
问问题
2415 次
2 回答
1
你可以做:
@{
// You C# code here querying the database
}
但这是一个非常不好的做法,这样的操作是你的角色Contoller
。
在 MVC 中,您的控制器获取和组织数据并将数据发送到View
. 那么 的作用View
就是只向最终用户显示数据。
如果您的数据很复杂,您可以(必须)使用ViewModel
(Views 和 ViewModels)。
您还可以使用ViewBag、ViewData 或 TempData。
更新:
using (var context = new BloggingContext())
{
var blogs = context.Blogs.ToList();
foreach (var item in blogs)
{
// Display blog for example
}
}
如果您使用的是 EntityFramework,您可以在他们的主页上找到更多详细信息
于 2013-09-10T10:43:54.390 回答
0
cshtml 文件是 ASP.NET MVC 中的视图文件。因此,您不会将数据访问代码放在视图中,因为这违反了设计模式;视图应该是愚蠢的,并且应该被给予他们需要向最终用户显示表示的数据。
控制器应该与模型交互以获取数据并将其传递给视图。一般的做法是使用强类型的 ViewModel 传递这些数据,例如
public class MyController : Controller
{
public ActionResult Index()
{
// your data access code here
ViewModel model = someDataAccessCode.GetItemsForView();
return View(model);
}
}
然后在 ~/Views/My/ 中有一个名为 Index.cshtml 的视图
@model ViewModel
@* Display data in the view model *@
如果您真的想将数据访问代码放在视图中,那么您可以使用服务器端脚本块来执行此操作。对于 Razor 视图,这些是
@{
var data = someDataAccessCode.GetItemsForView();
}
@* Display data in the view model *@
但我不会推荐这个。
于 2013-09-10T10:51:22.033 回答