Tag: asp.net mvc

X-SourceFiles标头是做什么的?

在ASP.NET MVC 3中使用FileStreamResult,我得到了一个响应头 X-SourceFiles =?UTF-8?B?RDpcUHJvamVjdFxqYWNvYlx0ZXN0?= 任何人都知道这头是什么意思,它的目的是什么?

如何从基本控制器的OnActionExecutingredirect?

我已经尝试了两种方法:Response.Redirect()什么也不做,以及在基本控制器内调用一个返回一个ActionResult的新方法,并让它返回RedirectToAction()…这些都没有工作。 我怎样才能从OnActionExecuting方法做redirect?

在HTML助手中生成URL

通常在ASP.NET视图中,可以使用以下函数获取URL(不是<a> ): Url.Action("Action", "Controller"); 但是,我无法find如何从自定义的HTML帮手。 我有 public class MyCustomHelper { public static string ExtensionMethod(this HtmlHelper helper) { } } 辅助variables具有Action和GenerateLink方法,但是它们生成<a> 。 我在ASP.NET MVC源代码中做了一些挖掘,但是我找不到一个简单的方法。 问题是,上面的Url是视图类的成员,并且它的实例化需要一些上下文和路由映射(我不想处理,我不应该这样做)。 或者,HtmlHelper类的实例也有一些上下文,我假设是Url实例的上下文信息的子集的晚餐(但我不想处理它)。 总之,我认为这是可能的,但是由于我能看到的所有方法都涉及到一些或多或less的内部ASP.NET的东西,我想知道是否有更好的方法。 编辑:例如,我看到的一种可能性是: public class MyCustomHelper { public static string ExtensionMethod(this HtmlHelper helper) { UrlHelper urlHelper = new UrlHelper(helper.ViewContext.RequestContext); urlHelper.Action("Action", "Controller"); } } 但这看起来不正确。 我不想自己处理UrlHelper的实例。 必须有一个更简单的方法。

如何将一个string数组发送到ASP.NET MVC控制器没有窗体?

我正在创build一个小型应用程序来自学ASP.NET MVC和JQuery,其中一个页面是一些可以select的项目列表。 然后,我想按下一个button,并使用JQuery的Post函数向包含所选项目的ID的控制器发送一个List(或类似的东西)。 我设法得到一个数组与选定的元素的ID,现在我想发布。 我可以这样做的一种方式是在页面中创build一个虚拟表单,其中包含一个隐藏的值,然后使用所选项目设置隐藏值,然后发布该表单; 虽然这看上去很蹩脚。 有一个更清洁的方式来实现这一点,通过发送数组直接到控制器? 我尝试了一些不同的东西,但是看起来控制器不能映射它所接收的数据。 以下是目前的代码: function generateList(selectedValues) { var s = { values: selectedValues //selectedValues is an array of string }; $.post("/Home/GenerateList", $.toJSON(s), function() { alert("back") }, "json"); } 然后我的控制器看起来像这样 public ActionResult GenerateList(List<string> values) { //do something } 我设法得到的是控制器参数中的一个“空”… 有小费吗?

如何从ASP.NET MVC 3控制器返回一个200 HTTP状态代码

我正在编写一个接受来自第三方服务的POST数据的应用程序。 当这个数据被张贴时,我必须返回一个200 HTTP状态码。 我怎么能从我的控制器做到这一点?

允许多个angular色访问控制器操作

现在我装饰一个像这样的方法来允许“成员”访问我的控制器操作 [Authorize(Roles="members")] 我如何允许多个angular色? 例如下面的不起作用,但它显示了我想要做的(允许“成员”和“pipe理”访问): [Authorize(Roles="members", "admin")]

ASP.NET MVC:使用UrlHelper的unit testing控制器

我的控制器操作之一,即在Ajax请求中调用的一个操作,正在向客户端返回一个URL,以便它可以执行redirect。 我正在使用Url.RouteUrl(..)并在我的unit testing过程中失败,因为Controller.Url参数未预先填充。 我尝试了很多东西,其中包括尝试存根UrlHelper (失败),手动创buildUrlHelper与具有存根的HttpContextBase (在RouteCollection.GetUrlWithApplicationPath调用失败)的RouteCollection.GetUrlWithApplicationPath 。 我search了Google,但在这个主题上几乎找不到任何东西。 我在我的控制器操作中使用Url.RouteUrl来做一些令人难以置信的蠢事? 有更容易的方法吗? 更糟的是,我希望能够在我的unit testing中testing返回的URL – 事实上,我只是有兴趣知道它正在redirect到正确的路线,但因为我返回一个URL而不是路线,我想控制解决的URL(例如通过使用一个存根的RouteCollection ) – 但我很乐意让我的testing通过开始。

哪里和如何链接_ViewStart.cshtml布局文件?

以下是来自默认MVC 3模板的About.cshtml: @{ ViewBag.Title = "About Us"; } <h2>About</h2> <p> Put content here. </p> 我期望在About.cshtml中可以find对_ViewStart文件的About.cshtml ,但显然不是。 我看了global.asax和web.config ,但我无法findAbout.cshtml文件如何与About.cshtml文件的布局“链接”。 一切都按预期工作,我只想知道发生了什么事情…

无法inputVisual Studio

我无法在Visual Studio 2013中编辑项目中的任何文件。它只发生在一个项目中。 如果我打开一个不同的项目,我可以input正确的,但是一旦我回到问题项目,我无法input编辑器窗口。 不知道是否重要,但项目给我的问题,我们正在使用SVN。 其他项目只是在本机上的本地项目。 我已经重新启动Visual Stuido,重新启动计算机,仍然无法编辑文件。 有任何想法吗?

我如何在Razor中定义一个方法?

我如何在Razor中定义一个方法?