Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 添加文件夹时Asp.Net MVC抛出错误';App#U代码';_Asp.net Mvc 3_Html Helper_App Code - Fatal编程技术网

Asp.net mvc 3 添加文件夹时Asp.Net MVC抛出错误';App#U代码';

Asp.net mvc 3 添加文件夹时Asp.Net MVC抛出错误';App#U代码';,asp.net-mvc-3,html-helper,app-code,Asp.net Mvc 3,Html Helper,App Code,今天,我发现了一个非常好的特性,使我能够添加cshtml帮助程序。要做到这一点,我必须将cshtml文件放在名为“App_Code”的文件夹中,然后添加到如下代码中: @using System.Security.Policy @helper jQuery(){ if (System.Diagnostics.Debugger.IsAttached) { <script src="@Url.Content("~/Scripts/JQuery/jquery-1.7

今天,我发现了一个非常好的特性,使我能够添加cshtml帮助程序。要做到这一点,我必须将cshtml文件放在名为“App_Code”的文件夹中,然后添加到如下代码中:

@using System.Security.Policy

@helper jQuery(){
   if (System.Diagnostics.Debugger.IsAttached)
   {
        <script src="@Url.Content("~/Scripts/JQuery/jquery-1.7.2.js")" type="text/javascript"></script>
   }
   else
   {
        <script src="@Url.Content("~/Scripts/JQuery/jquery-1.7.2.min.js")" type="text/javascript"></script>
   }
}
@使用System.Security.Policy
@助手jQuery(){
if(System.Diagnostics.Debugger.IsAttached)
{
}
其他的
{
}
}
问题是,在添加仅包含一个文件的文件夹后,当我尝试在浏览器中访问页面时,立即收到服务器错误

“网络错误:500内部服务器错误-http://localhost/[端口]

我已经将代码放入我项目的其他文件夹中

我必须将我的所有代码都移动到“App_code”文件夹中吗?或者是否有任何技巧可以保留我现有的结构,但使用这个新的“App_code”文件夹


谢谢。

您不能在帮助程序中使用帮助程序,因此它们没有您最初认为的那么有用:-)

这些助手函数中不存在
Html
Url
之类的内容。因此,如果需要使用它们,则必须将它们作为参数传递:

@using System.Web.Mvc
@using System.Security.Policy

@helper jQuery(UrlHelper urlHelper)
{
   if (System.Diagnostics.Debugger.IsAttached)
   {
        <script src="@urlHelper.Content("~/Scripts/JQuery/jquery-1.7.2.js")" type="text/javascript"></script>
   }
   else
   {
        <script src="@urlHelper.Content("~/Scripts/JQuery/jquery-1.7.2.min.js")" type="text/javascript"></script>
   }
}

我在网上搜索,发现一个人这样说:“默认情况下,所有MVC项目都是web应用程序项目(WAP),而不是网站项目。这意味着不需要App_代码文件夹,因为WAP总是被编译的。这意味着项目中的所有*.cs文件都将被编译,而网站项目中只有App_Code文件夹中的*.cs文件才会被编译。“如果我理解正确,我的项目中的应用程序代码文件夹和其他文件夹中不可能同时包含这两个代码。您可以使用Razor使用
App\u code
。别担心。只需确保此文件夹不包含任何
.cs
文件。只有剃须刀之类的东西:
.cshtml
。好吧,我知道你说了什么!我的浏览器返回错误的原因是我的项目没有编译我的代码。你是个天才!!!非常感谢。只是为了好玩,达林,你有工作吗?每天工作8小时,你怎么能有341k?很抱歉除了智商250,每天24小时上网搜索之外,你怎么可能在所有情况下都拥有341k?再次感谢你为我节省了很多时间;)
@Foo.jQuery(Url)