标签: asp.net-mvc-3

ASP.Net MVC - 资源无法找到错误

我是ASP.Net MVC的新手.我刚刚在Visual Studio 2010中创建了一个MVC3项目.视图引擎是剃须刀.当我刚运行应用程序时,它在浏览器中给出了正确的结果.URL为http:// localhost:4163 /.然后我将"设置为起始页"应用于〜\ Views\Home文件夹中的Index.cshtml.然后当我运行应用程序时,url变为 http:// localhost:4148/Views/Home/Index.cshtml ,它说无法找到资源.我该怎么做才能纠正它?网址映射在哪里完成?

Global.asax文件:

using System.Web.Mvc;
using System.Web.Routing;

namespace TEST
{

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
    }
 }
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc razor asp.net-mvc-3

60
推荐指数
6
解决办法
17万
查看次数

为ajax帖子手动调用MVC 3客户端验证

我正在创建一个MVC 3 Web应用程序.我想在我的实体类上使用Data Annotations,然后在回发到服务器之前使用不显眼的客户端验证.这在定期发布时工作正常.如果任何字段无效,我会得到验证和验证摘要.但是,我想通过ajax和json回发信息.如何首先在客户端"手动"验证表单,然后将我的ajax发布回服务器.以下是我的代码的摘要版本.

  public class Customer
    {
        [Required(ErrorMessage = "The customer's first name is required.")]
        public string FirstName { get; set; }

        [Required(ErrorMessage = "The customer's last name is required.")]
        public string LastName { get; set; }
    }



    <% using (Html.BeginForm()) { %>

    <%: Html.LabelFor(model => model.FirstName, "First Name")%>
    <%: Html.TextBoxFor(model => model.FirstName, new { @class = "TextBox", id = "Customer.FirstName" })%>
    <%: Html.ValidationMessageFor(model => model.FirstName, "*")%>

    <%: Html.LabelFor(model => model.LastName, "Last Name")%>
    <%: Html.TextBoxFor(model => model.LastName, new { …
Run Code Online (Sandbox Code Playgroud)

javascript validation asp.net-mvc jquery asp.net-mvc-3

59
推荐指数
4
解决办法
7万
查看次数

返回new EmptyResult()VS返回NULL

在ASP.NET MVC的时候我的行动将不会返回任何东西我使用return new EmptyResult()return null

有什么不同吗?

asp.net-mvc action asp.net-mvc-3

59
推荐指数
3
解决办法
4万
查看次数

Chrome,pdf显示,从服务器收到的重复标头

我在网站上有一个部分,我在灯箱里面显示一个pdf.最近的Chrome升级打破了这个显示:

错误349(net :: ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION):收到多个Content-Disposition标头.这是不允许的,以防止HTTP响应分裂攻击.

这仍然可以在IE中正常工作.

我在IIS6上使用ASP.NET MVC3

我用来生成文件的代码如下.

如果我删除内联语句,则文件会下载,但会破坏灯箱功能.

问题代码

public FileResult PrintServices()
{
    //... unrelated code removed
    MemoryStream memoryStream = new MemoryStream();
    pdfRenderer.PdfDocument.Save(memoryStream);
    string filename = "ServicesSummary.pdf";

    Response.AppendHeader("Content-Disposition", "inline;");

    return File(memoryStream.ToArray(), "application/pdf", filename);
}
Run Code Online (Sandbox Code Playgroud)

修复

去掉

Response.AppendHeader("Content-Disposition", "inline;");
Run Code Online (Sandbox Code Playgroud)

然后改变

return File(memoryStream.ToArray(), "application/pdf", filename);
Run Code Online (Sandbox Code Playgroud)

return File(memoryStream.ToArray(), "application/pdf");
Run Code Online (Sandbox Code Playgroud)

iis-6 google-chrome asp.net-mvc-3

59
推荐指数
2
解决办法
4万
查看次数

可以从Javascript文件访问MVC ViewBag对象吗?

是否可以从MVC应用程序中的javascript文件执行以下操作?

$(function(){
   alert(@ViewBag.someValue);
}
Run Code Online (Sandbox Code Playgroud)

目前它抛出错误:

引用未定义的XML名称@ViewBag

c# asp.net-mvc jquery razor asp.net-mvc-3

59
推荐指数
4
解决办法
17万
查看次数

IIS7 - 请求筛选模块配置为拒绝超过请求内容长度的请求

我想上传图片,它在我的机器上工作正常,但当我把我的网站放在IIS7服务器上公开时,我无法上传任何内容.

错误

请求过滤模块被配置为拒绝超过请求内容长度的请求.

最可能的原因

在Web服务器上配置请求筛选以拒绝请求,因为内容长度超过了配置的值.

你可以尝试的事情

验证applicationhost.config或web.config文件中的configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength设置.

Web.config中的system.webServer

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1048576" />
      </requestFiltering>
   </security>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

如您所见,我将maxAllowedContentLength设置为1gb.重新启动我的网站仍然收到此错误.我/uploads/在我的文件系统上创建了一个文件夹,它也是如此.不知道导致此错误的原因以及无法上传图片的原因.

asp.net iis iis-7 asp.net-mvc-3

59
推荐指数
1
解决办法
10万
查看次数

ASP.NET视图中的区域?

我正在使用剃刀引擎制作ASP.NET MVC应用程序.
我想知道是否可以在视图中使用区域.

就像是:

#region blabla
    <p>@Model.Name</p>
    <p>...</p>
#endregion
Run Code Online (Sandbox Code Playgroud)

这不起作用.还有其他选择吗?

asp.net-mvc views region razor asp.net-mvc-3

58
推荐指数
6
解决办法
4万
查看次数

为什么ASP.NET中存在两种不兼容的会话状态类型?

我在ASP.NET MVC中看到了两种使用会话数据的方法:

  • System.Web.SessionState.HttpSessionState,可用 HttpApplication
  • System.Web.HttpSessionStateBase,可用 Controller

存储在一个中的数据似乎在另一个中可用.

不幸的是System.Object,这两种类型的唯一共同祖先是,这意味着我不能为任何一种抽象创建可重用的实用程序代码.

为什么API会这样?我失踪的两者之间是否有重要区别?

.net asp.net session-state asp.net-mvc-3

58
推荐指数
1
解决办法
1万
查看次数

在ASP.NET MVC中授权属性

我很难理解[Authorize]ASP.NET MVC 中属性的实际使用.根据概念,如果我们使用[Authorize]属性修饰控制器方法,则只允许经过身份验证的用户访问控制器.

我开发了一个ASP.NET MVC应用程序,没有用[Authorize]属性装饰控制器.我观察到的是,如果我使用web.config或其他方式在我的应用程序中正确实现身份验证机制,那么我现在可以访问{controller}/{action}/{id}特定操作方法的URL .

系统总是要求登录.这意味着我的控制器是安全的.我的问题是,当我可以在不使用[Authorize]属性的情况下保护我的控制器时,它的真正需求是什么?

asp.net-mvc-3

58
推荐指数
6
解决办法
10万
查看次数

BeginProcessRequest()会发生什么?

我们使用NewRelic来提供服务器端应用程序跟踪.

我们注意到我们的一些应用程序始终在该方法中花费大约100毫秒System.Web.Mvc.MvcHandler.BeginProcessRequest().

出现这种情况的任何自定义控制器代码调用之前(这是单独记录,而不是累积) - 这不是显而易见的,为什么会在这种方法中花费这么多的时间.

MVC在这种方法中会做些什么?这可能只是请求排队吗?

[编辑:] 如怀疑 - Scalayer的回答是现实的.我们删除并优化了所有会话依赖关系,并看到了应用程序可伸缩性和稳定性的大幅提升

c# asp.net asp.net-mvc-3 newrelic

58
推荐指数
2
解决办法
1万
查看次数