MVC 4中的坑

1、VirtualPathUtility.ToAbsolute

这个方法的官方解释是 Converts a virtual path to an application absolute path. 意思是应用程序虚拟路径转换为绝对路径

但实际是取不到绝对路径的

VirtualPathUtility.ToAbsolute("~/App_Data/"); 这个取到的实际是 C:/App_Data 这个目录

需要取绝对路径还是需要

System.Web.HttpContext.Current.Server.MapPath("~/App_Data/”);  这样

2、Rozor 引擎中 if else问题

@if (FileTypeHelper.IsAudio(item))
{
<span class="glyphicon glyphicon-music"></span>
flag = true;
}

else

if (FileTypeHelper.IsVideo(item))

{

}

这样写 else是不会执行的  虽然代码进行了着色 并且不报错

所以只能分开写

@if(bool1)

{}

@if(bool2)

{}

很坑.....

MongoDB中的坑就暂时不叙述了 有时间我专门写一个出来

贴出经验给大家参考下,如有更好的解决方案 欢迎留言

时间: 2024-10-09 18:14:08

MVC 4中的坑的相关文章

(一)Asp.net web api中的坑-【找不到与请求 URI匹配的 HTTP 资源】

在.net下,创建一个HTTP服务,有很多方案,比较老ashx,一般处理程序(HttpHandler), Web Service SOAP协议的,数据格式是XML,HTTP协议         WCF 基于SOAP的,数据格式是XML,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ. Web API(文章主讲) 简单的构建HTTP服务,.net平台上Web API 是一个开源的.理想的.构建REST-ful 服务的技术,支持MVC的特征,像路由.控制器

MVC框架中的值提供(一)

在MVC框架中action方法中的Model数据的绑定的来源有很多个,可能是http请求中的get参数或是post提交的表单数据,会是json字符串或是路径中的相关数据;MVC框架中针对这些不同的数据来源抽象了IValueProvider接口; public interface IValueProvider { bool ContainsPrefix(string prefix); ValueProviderResult GetValue(string key); } IValueProvide

ASP.NET MVC 4 中的JSON数据交互

前台Ajax请求很多时候需要从后台获取JSON格式数据,一般有以下方式: 拼接字符串 return Content("{\"id\":\"1\",\"name\":\"A\"}"); 为了严格符合Json数据格式,对双引号进行了转义. 使用JavaScriptSerialize.Serialize()方法将对象序列化为JSON格式的字符串 MSDN 例如我们有一个匿名对象: var tempObj=new

MVC路由中的一个问题

最近项目在使用MVC. 项目中有个地址为:www.xxx.com/search/search.html,从这个页面点击QQ登录时,地址为:www.xxx.com/passport/QQLogin.html?returl=/search/search.html 此时,QQ登录总是不成功. 但是同样的情况,如果把页面换成www.xxx.com/search/s.html,从这个页面点击QQ登录时,地址为:www.xxx.com/passport/QQLogin.html?returl=/search

MVC 4中的前端渲染 @Helper指令

如果我们需要在一个页面或多个页面显示如人民币格式(后台传回来的无¥)¥的格式化.或是对后台数据作如保留小数个数等处理,这些东西经常要用到,特别是一些NULL值的处理,有可能会出错.这时我们可以通过创建 一个.csHtml文件(当然你也可以以把方法写在要用的当前页面中),封装一个方法, 直接在各个用到的前端面面中调用就可以了. 先举一个 在本页面调用,且写在本页面的使用如下: @{ Layout="~/Views/Shared/_Layout.cshtml" ; } @using  My

谈谈MVC项目中的缓存功能设计的相关问题

本文收集一些关于项目中为什么需要使用缓存功能,以及怎么使用等,在实际开发中对缓存的设计的考虑 为什么需要讨论缓存呢? 缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很频繁的,可以重用的数据,通过一定的方式临时地保存起来,后续的请求根据情况可以直接访问这些保存起来的数据.这种机制就是所谓的缓存机制. 根据缓存的位置不同,可以区分为: 1.客户端缓存(缓存在用户的客户端,例如浏览器) 2.服务器断货(缓存在服务器中,可以缓存在内存

2014-07-30 MVC框架中对SQL Server数据库的访问

今天是在吾索实习的第16天.我自己主要学习了基于MVC框架的系统的开发时,对SQL Server数据库的相关访问.其步骤如下: 第一步,在Models文件夹中创建一个类,并命名为Movies.cs,如图1所示: 图1 第二步,在上述Movies.cs文件中的namespace MvcTest.Models{}中输入如下代码: 1 public class Movie 2 { 3 public int ID { get; set; } 4 public string Title { get; se

Windows API中的坑

本文主页链接:Windows API中的坑 ExpandEnvironmentStrings 风险: 进程会继承其父进程的环境变量,在展开如%APPDATA%等目录时,有可能父进程对此环境变量进行过修改,那么可能你获取的就不是你想要的当前SESSION的%APPDATA%了. 建议: 使用SHGetFolderPath系列函数来做这件事. GetModuleFileName 风险: 在DLL中调用时,若传入的instance参数为NULL,那获取的将是加载DLL的进程的EXE的路径,若需要获取D

Torch-RNN运行过程中的坑 [2](Lua的string sub函数,读取中文失败,乱码?)

0.踩坑背景 仍然是torch-rnn/LanguageModel.lua文件中的一些问题,仍然是这个狗血的LM:encode_string函数: function LM:encode_string(s) local encoded = torch.LongTensor(#s) for i = 1, #s do local token = s:sub(i, i) local idx = self.token_to_idx[token] assert(idx ~= nil, 'Got invali