MVC问题小总结,不断更新中...
2011-06-28 17:21 smat 阅读(762) 评论(0) 编辑 收藏 举报1、运行项目时,浏览器中图片或JS文件、样式文件都找不到?
在程序中不报错,用【设计】查看页面时,图片样式都能找到,到浏览器中就找不到啦?
解决方案:
查看Global.asax文件中,
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.RouteExistingFiles = true;
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Index", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Web.Controllers" }
);
}
注意:
注释掉://routes.RouteExistingFiles = true;
2、MVC3中多了一些新特性【
Unobtrusive JavaScript in ASP.NET MVC 3】
Ajax.ActionLink浏览器中代码解析问题?
<% = Ajax.ActionLink("动态" , "Index" , " Index " , new { id = 1 }, new AjaxOptions () { LoadingElementId = "Loading" , UpdateTargetId = "Main" , HttpMethod = "Get" , OnFailure = "dialogOpen" })%>
<!--以下是常规Javascript下写出来的Ajax-->
<a href="/Manager/1" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, httpMethod: 'Get', loadingElementId: 'Loading', updateTargetId: 'Main', onFailure: Function.createDelegate(this, dialogOpen) });">动态</a>
<!--以下是Unobtrusive Javascript下写出来的Ajax-->
以上的代码分别是 MVC 3 在“关闭”和“开启” Unobtrusive JavaScript 后生成的 Ajax.ActionLink。
那 Unobtrusive JavaScript到 底是什么呢?简单地来说,就是一种代码分离的思想,把行为层和表现层分离开。
解决方案:修改Web.config
MVC3中的Web.Config文件中默认多了两个配置项
<configuration>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
</configuration>
这里是一个全局设置,你可以打开或者关闭。
另外,你也可以在任何一个 Action 或 Controller 中执行以下代码,灵活地进行控制,来处理一些特殊的 Action 或 Controller。
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;
3、待续...