MVC问题小总结,不断更新中...

1、运行项目时,浏览器中图片或JS文件、样式文件都找不到?

在程序中不报错,用【设计】查看页面时,图片样式都能找到,到浏览器中就找不到啦?

解决方案:

查看Global.asax文件中,

 

public   static   void  RegisterRoutes(RouteCollection routes)  
{  
   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--> 

 <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--> 

 

< data-ajax ="true"  data-ajax-failure ="dialogOpen"  data-ajax-loading ="#Loading"  data-ajax-method ="Get"  data-ajax-mode ="replace"  data-ajax-update ="#Main"  href ="/Manager/1" > 动态 </ a >

 

 

以上的代码分别是 MVC 3 在“关闭”和“开启” Unobtrusive JavaScript 后生成的 Ajax.ActionLink。 

 

那 Unobtrusive JavaScript到 底是什么呢?简单地来说,就是一种代码分离的思想,把行为层和表现层分离开。

 

 

解决方案:修改Web.config 

MVC3中的Web.Config文件中默认多了两个配置项 

 <configuration>  

< appSettings >   
    
< add key = " ClientValidationEnabled "  value = " true " />    
    
< add key = " UnobtrusiveJavaScriptEnabled "  value = " true " />    
  
</ appSettings >   
</ configuration >   

 

这里是一个全局设置,你可以打开或者关闭。

 

另外,你也可以在任何一个 Action 或 Controller 中执行以下代码,灵活地进行控制,来处理一些特殊的 Action 或 Controller。 

HtmlHelper.ClientValidationEnabled  =   true ;

HtmlHelper.UnobtrusiveJavaScriptEnabled = true; 


3、待续... 

 

你可能感兴趣的:(mvc)