Questions tagged «asp.net-mvc-3»

ASP.NET MVC 3是Model-View-Controller扩展的第三个主要版本,用于在.NET框架中开发Web应用程序。

14
在ASP.Net MVC中设置访问控制允许来源-最简单的方法
我有一个简单的操作方法,它返回一些json。它在ajax.example.com上运行。我需要从另一个网站someothersite.com访问此网站。 如果我尝试调用它,我会得到预期的...: Origin http://someothersite.com is not allowed by Access-Control-Allow-Origin. 我知道有两种解决方法:JSONP和创建自定义HttpHandler来设置标头。 有没有更简单的方法? 简单的动作是否不可能定义允许的来源列表-还是简单地允许所有人?也许是动作筛选器? 最佳将是...: return json(mydata, JsonBehaviour.IDontCareWhoAccessesMe);

30
Global.asax中的“解析器错误消息:无法加载类型”
我正在MVC3项目上,并收到以下错误: 解析器错误消息:无法加载类型'GodsCreationTaxidermy.MvcApplication'。 源错误: 第1行: <%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %> 我得到的错误是无法加载GodsCreationTaxidermy.Core.MvcApplication,但在此屏幕快照中,Core部分未显示在错误中: 是否有人对此错误有任何想法或解决方案?


7
_ViewStart.cshtml布局文件在哪里以及如何链接?
这是默认MVC 3模板中的About.cshtml: @{ ViewBag.Title = "About Us"; } <h2>About</h2> <p> Put content here. </p> 我希望可以在中找到对_ViewStart文件的引用About.cshtml,但显然不是。 我查看了global.asax和web.config,但是无法找到该About.cshtml文件如何与_ViewStart文件中的布局“链接”在一起。 一切都按预期进行,我只想知道引擎盖下发生了什么...

9
防止使用属性在ASP.NET MVC中缓存特定操作
我有一个ASP.NET MVC 3应用程序。该应用程序通过jQuery请求记录。jQuery回调到控制器操作,该操作以JSON格式返回结果。我无法证明这一点,但是我担心我的数据可能会被缓存。 我只希望将缓存应用于特定的操作,而不是应用于所有操作。 是否可以执行一项操作以确保不缓存数据的属性?如果没有,如何确保浏览器每次都获得一组新的记录,而不是一组缓存的记录?



1
将CSS或JavaScript文件从视图或局部视图添加到布局头
版面页面头: <head> <link href="@Url.Content("~/Content/themes/base/Site.css")" rel="stylesheet" type="text/css" /> </head> 应用程序中的视图(AnotherView)需要: <link href="@Url.Content("~/Content/themes/base/AnotherPage.css")" rel="stylesheet" type="text/css" /> AnotherView有一个局部视图(AnotherPartial),它需要: <link href="@Url.Content("~/Content/themes/base/AnotherPartial.css")" rel="stylesheet" type="text/css" /> 问题:如何添加这些CSS文件链接到布局头的AnotherView和AnotherPartial链接? RenderSection不是一个好主意,因为AnotherPage可以有多个Partials。将所有CSS添加到头部是没有用的,因为它会动态更改(取决于Anotherpages)。

5
MVC和Razor中的Html.TextboxFor和Html.EditorFor之间的区别
为什么默认情况下在添加新的“编辑”视图时更改了这些设置?使用EditorFor()vs.有什么优势TextboxFor()? 我找到了这个 默认情况下,创建和编辑脚手架现在使用Html.EditorFor助手而不是Html.TextBoxFor助手。当“添加视图”对话框生成视图时,以数据注释属性的形式改善了对模型上元数据的支持。

8
找不到Razor HtmlHelper扩展(或其他视图名称空间)
Dunno,如果这是在PR或Beta中发生的,但是如果我在上创建了扩展方法HtmlHelper,则在Razor支持的页面中无法识别该方法: namespace SomeNamespace.Extensions { public static class HtmlExtensions { public static string Foo(this HtmlHelper html) { return "Foo"; } } } 我将其添加到的<Namespaces>部分中Web.config: <pages> <namespaces> <add namespace="System.Web.Mvc" /> <!-- snip --> <add namespace="SomeNamespace.Extensions"/> </namespaces> </pages> 但是在尝试查看页面时会引发编译错误: @Html.Foo() 如果我使用WebForms重新创建页面,则效果很好。这是怎么回事? 解决方法 如果我将其包含@using SomeNamespace.Extensions在Razor视图中,则可以使用,但我宁愿将其包含在其中Web.config

11
在ASP.NET MVC中的Ajax中包含antiforgerytoken
我在使用Ajax的AntiForgeryToken时遇到麻烦。我正在使用ASP.NET MVC3。我在jQuery Ajax调用和Html.AntiForgeryToken()中尝试了该解决方案。使用该解决方案,令牌现在可以通过: var data = { ... } // with token, key is '__RequestVerificationToken' $.ajax({ type: "POST", data: data, datatype: "json", traditional: true, contentType: "application/json; charset=utf-8", url: myURL, success: function (response) { ... }, error: function (response) { ... } }); 当我删除该[ValidateAntiForgeryToken]属性只是为了查看数据(带有令牌)是否作为参数传递给控制器​​时,我可以看到它们正在传递。但是由于某种原因,A required anti-forgery token was not supplied or …

6
在ASP.NET MVC中执行异步操作使用.NET 4上ThreadPool中的线程
提出这个问题后,在ASP.NET MVC中使用异步操作时,我感到很舒服。因此,我就此写了两篇博客文章: 我对C#5.0和ASP.NET MVC Web应用程序中基于任务的异步编程的看法 ASP.NET MVC 4中使用基于任务的异步编程模型(TAP)进行异步数据库调用 我对ASP.NET MVC上的异步操作有太多误解。 我总是听到这句话:如果操作异步运行,应用程序可以更好地扩展 我也经常听到这样的句子:如果您的流量很大,最好不要异步执行查询-消耗2个额外的线程来为一个请求服务会占用其他传入请求的资源。 我认为这两个句子不一致。 我没有太多有关线程池如何在ASP.NET上工作的信息,但是我知道线程池的线程大小有限。因此,第二句话必须与此问题相关。 而且我想知道ASP.NET MVC中的异步操作是否使用.NET 4上ThreadPool的线程? 例如,当我们实现AsyncController时,应用程序如何结构?如果流量很大,实现AsyncController是个好主意吗? 有没有人可以把这个黑色的窗帘拉开,向我解释有关ASP.NET MVC 3(NET 4)异步的问题? 编辑: 我已经阅读了近百次以下文档,并且我了解主要交易,但是我仍然感到困惑,因为那里有太多不一致的评论。 在ASP.NET MVC中使用异步控制器 编辑: 假设我有如下所示的控制器动作(AsyncController虽然不是实现): public ViewResult Index() { Task.Factory.StartNew(() => { //Do an advanced looging here which takes a while }); return View(); } 如您在此处看到的,我执行了一项操作,却忘记了它。然后,我立即返回而无需等待它完成。 在这种情况下,这是否必须使用线程池中的线程?如果是这样,则在完成后,该线程将如何处理?GC完成后是否进来并进行清理? …


1
使用_viewstart.cshtml和部分Razor视图的正确方法?
我正在使用_viewstart.cshtml自动为我的视图分配相同的Razor布局。 这是我的Views文件夹根目录中的一个简单的死文件,如下所示: @{ Layout = "~/Views/Shared/_Layout.cshtml"; } 这比将@Layout指令添加到每个单个视图要干得多。 但是,这给Razor 局部视图带来了问题,因为它们运行_viewstart.cshtml的内容,因此错误地为自己分配了布局,这使它们不再是局部的。 这是一个假设的项目,显示_viewstart.cshtml文件,共享的_layout.shtml文件和局部视图(“ AnonBar.cshtml”)。 当前,我要解决的方法是在每个局部视图中添加以下行: @{ Layout = ""; } 在Razor中将视图表示为局部视图似乎是错误的方法。(请注意,与Web窗体视图引擎不同,部分视图的文件扩展名相同。) 我考虑过的其他选择却更糟: 将所有部分视图放入一个公共文件夹,以便它们可以共享一个公共_viewstart.cshtml。这违反了视图与其控制器位于同一文件夹中的约定。 不使用局部视图。 Razor视图引擎团队是否还在充实这些东西,还是我缺少一个基本概念?

5
EF LINQ包含多个嵌套实体
好的,我具有具有以下层次结构的三级实体:课程->模块->本章 这是原始的EF LINQ语句: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters)) .Single(x => x.Id == id); 现在,我想包含另一个与课程关联的名为Lab的实体。 如何包括实验室实体? 我尝试了以下操作,但没有成功: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters) && i.Lab) .Single(x => x.Id == id); 关于包括第二实体的任何想法? 任何建议或信息将不胜感激。谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.