14-ASP.NET MVC中使用Json
MVC框架已经帮我们封装好了使用json的功能
很多前端的框架都是使用了json
下面我们来把一个对象以jsonresult的方式返回来,然后再url中,我可以看到浏览器可以把它解析为一个json对象。
easyui 和一些jquery框架目前都是使用json作为数据源的。
控制器代码
public JsonResult LoadData()
{
List<Notic> list = new List<Notic>();
for (int i = 0; i < 20; i++)
{
var notic = new Notic();
notic.AfTime = DateTime.Now;
notic.EffTime = DateTime.Now;
notic.Title = "FoxDevelop";
list.Add(notic);
}
return Json(list, JsonRequestBehavior.AllowGet);
}Code language: PHP (php)
15-MVC中对权限的控制
大型的MVC权限管理,需要用到mvc的过滤器,然后对访问者的权限进行对比判断。然后会分得更细。
我们这里是将MVC提供的权限控制。
通常我们要限制某个控制器或者控制器里面的某个action需要含有某个角色才能访问,那么这个时候,我们就可以给这个控制器或者action添加一个标注
[Authorize(Roles = "admin")]Code language: JSON / JSON with Comments (json)
这样只要有admin这个角色的用户才能访问这个控制器下面的action或者某个action
如果没有的话,那么就会调整到
16-Scripts.Render和Style.Render的使用
这两个方法是用来在视图中加载一些js或者css到视图中。
通常我们需要先注册规则。
在Application_Start中我们注册
BundleConfig.RegisterBundles(BundleTable.Bundles);Code language: CSS (css)
然后我们注册需要的规则
假设我们现在需要引入一些js
这些js有一定的规则比如
jbamn.ok.js
jbamn.yes.js
jbamn.no.js
还有引入一下css
bamn.haha.css
bamn.front.css
那么我们可以添加注册规则
bundles.Add(new ScriptBundle("~/bundles/bamn").Include(
"~/Scripts/jbamn.ok.js",
"~/Scripts/jbamn.yes.js","~/Scripts/jbamn.front.js"));
bundles.Add(new StyleBundle("~/Content/css/bamn").Include(
"~/Content/bamn.ok.css",
"~/Content/bamn.front.css"));Code language: PHP (php)
通常为了区别。js通常都是”~/bundles/xxxx”
其实向我们这里的js是有规则的所以,我们完全可以这样写
bundles.Add(new ScriptBundle("~/bundles/bamn").Include(
"~/Scripts/jbamn.*"));Code language: PHP (php)
Previous: DisplayTemplates和自定义标注
Next: 视图和过滤器