Questions tagged «asp.net-mvc-3»

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

1
如何在Razor中编写“ Html.BeginForm”
如果我这样写: 表单action =“ Images” method =“ post” enctype =“ multipart / form-data” 有用。 但是在带有“ @”的Razor中,它不起作用。我有没有犯错? @using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" })) { @Html.ValidationSummary(true) <fieldset> Select a file <input type="file" name="file" /> <input type="submit" value="Upload" /> </fieldset> } 我的控制器如下所示: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Upload() { foreach (string file …

4
ASP.Net MVC Html.HiddenFor具有错误的值
我在项目中使用MVC 3,并且看到了一个非常奇怪的行为。 我正在尝试为模型上的特定值创建一个隐藏字段,问题是由于某种原因,在字段上设置的值与模型中的值不对应。 例如 我有以下代码,作为测试: <%:Html.Hidden("Step2", Model.Step) %> <%:Html.HiddenFor(m => m.Step) %> 我认为两个隐藏字段都具有相同的值。我要做的是,在我第一次显示“视图”时将该值设置为1,然后在提交后将“模型”字段的值增加1。 因此,我第一次呈现页面时两个控件的值均为1,但是第二次呈现的值分别为: <input id="Step2" name="Step2" type="hidden" value="2" /> <input id="Step" name="Step" type="hidden" value="1" /> 如您所见,第一个值是正确的,但是第二个值似乎与我第一次显示View相同。 我想念什么?* For HTML帮助程序是否以某种方式缓存值?如果是这样,如何禁用此缓存? 谢谢你的帮助。

6
MVC3 Razor:在代码块中显示html
在我的cshtml文件中,我有很多类似以下内容的块: @if(Model.foo) { <span>Hello World</span> } 出现跨度的唯一原因是,除非我将其包围在html标签中,否则我找不到其他方法来强制它识别“ Hello World”是html的一部分。有没有一种好的方法可以避免不涉及在显示器上添加无意义标签的代码?

3
如何与ASP.NET MVC ViewModels一起使用Knockout.js?
赏金 已经有一段时间了,我仍然有几个悬而未决的问题。我希望通过悬赏,也许这些问题会得到解答。 您如何将Knockout.js与html助手一起使用 为什么需要准备好文档才能使其正常工作(有关更多信息,请参见第一个编辑) 如果我在视图模型中使用基因剔除映射,该怎么做?由于映射,我没有功能。 function AppViewModel() { // ... leave firstName, lastName, and fullName unchanged here ... this.capitalizeLastName = function() { var currentVal = this.lastName(); // Read the current value this.lastName(currentVal.toUpperCase()); // Write back a modified value }; 我想使用插件,例如,我希望能够回滚observables,就好像用户取消了一个我希望能够返回到上一个值的请求一样。根据我的研究,这似乎是通过制作可编辑的插件来实现的 如果我正在使用映射,该如何使用类似的东西?我真的不想要一种方法,在我的视图手动映射中,我将每个MVC viewMode字段映射到KO模型字段,因为我需要尽可能少的内联javascript,这似乎是工作量的两倍,那是为什么我喜欢那种映射。 我担心要使此工作容易进行(通过使用映射),我会失去很多KO功能,但另一方面,我担心手动映射会很繁重,并且会使我的视图包含太多信息,并且将来可能会变得更难维护(例如,如果我删除了MVC模型中的属性,那么我也必须在KO视图模型中移动它) 原始帖子 我正在使用asp.net mvc 3,我正在研究淘汰赛,因为它看起来很酷,但是我很难弄清楚它如何与asp.net mvc一起工作,尤其是视图模型。 现在对我来说,我做这样的事情 public …

2
如何在Razor视图中写评论?
如何在MVC视图中编写注释,该注释不会传输到最终的HTML(即,发送到浏览器,响应)。可以用以下方式发表评论: <!--<a href="https://stackoverflow.com/">My comment</a> --> 但是,它在浏览器的页面源代码中可见。 是否可以仅将“ .cshtml”文件中的注释留给内部使用?

6
EF代码优先:如何从nuget软件包控制台中看到“ EntityValidationErrors”属性?
我为此感到茫然: 我已经为实体框架(4.1.3)代码优先方法定义了我的类。一切都很好(我正在创建表等),直到我开始播种为止。 现在当我做 Add-Migration "remigrate" ; Update-Database; 我在程序包控制台上收到一个错误“对一个或多个实体的验证失败。有关更多详细信息,请参见'EntityValidationErrors'属性。” 我的Seed()方法中有一个断点,但是因为当项目未运行时我正在控制台上运行此断点,所以对于如何获得详细信息一无所知(PS-我已经看到线程验证失败了一个或多个实体,同时使用实体框架将更改保存到SQL Server数据库中,该框架显示了我如何看到该属性。) 我知道我的Seed()方法有问题,因为如果我在方法调用后立即返回,错误就会消失。那么,如何设置断点,以便查看验证错误是什么?金田迷路了。还是有其他方法可以在nuget控制台中对其进行跟踪?

7
查看当前控制器
我有一个View - _Edit住在News M/V/C。 我V/M通过CategoryControlleras 重用了: return PartialView("/Views/News/_Edit.cshtml", model); 如何从内部发出View - _Edit控制器名称警报? 当我: alert('@ViewContext. RouteData.Values["controller"].ToString()'); 值是:News 但是,URL是:/Category/foobar 有没有一种方法可以使价值'Category'警报?谢谢

9
Windows更新导致MVC3和MVC4停止工作
我是10月15日唯一安装Windows Update(8.1)并由于此警告突然MVC停止工作的人吗? 警告1无法解决此引用。无法找到程序集“ System.Web.Mvc,版本= 4.0.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL”。检查以确保程序集在磁盘上。如果您的代码需要此引用,则可能会出现编译错误。 似乎此Windows更新安装了版本号为4.0.0.1的MVC的较新版本,并从程序文件文件夹中删除了旧版本。 有人知道如何解决此问题而不必为每个项目进行爬网吗?

9
当customerrors =“ On”时,Application_Error不触发
我在global.asax文件Application_Error事件中有代码,该事件在发生错误时执行,并将错误详细信息通过电子邮件发送给我自己。 void Application_Error(object sender, EventArgs e) { var error = Server.GetLastError(); if (error.Message != "Not Found") { // Send email here... } } 当我在Visual Studio中运行它时,它可以很好地工作,但是当我发布到实时服务器时,该Application_Error事件不会触发。 经过一些测试,我可以Application_Error在设置时触发customErrors="Off",但是将其设置回以customErrors="On"阻止事件再次触发。 谁能建议Application_Error在customErrors启用时为什么不触发web.config?

5
重定向到另一个控制器中的动作
我有两个控制器,都称为AccountController。其中一个,让我们称它为Controller A被Area调用Admin,而另一个,让我们称其Controller B为不存在Area(我猜这意味着它处于默认状态Area?)。 Controller B有一个action method叫Login。我有一个action methodin Controller A,其中有此行 return RedirectToAction("LogIn", "Account"); 问题是404执行此行时出现错误消息,因为尝试重定向到中不存在action的行Controller A。我想打电话给action method在Controller B。这可能吗?

2
将HttpPostedFileBase转换为byte []
在我的MVC应用程序中,我正在使用以下代码上传文件。 模型 public HttpPostedFileBase File { get; set; } 视图 @Html.TextBoxFor(m => m.File, new { type = "file" }) 一切正常..但是我试图将结果字段转换为byte []。我该怎么做 控制器 public ActionResult ManagePhotos(ManagePhotos model) { if (ModelState.IsValid) { byte[] image = model.File; //Its not working .How can convert this to byte array } }

9
找不到方法:'!! 0 [] System.Array.Empty()'
我使用VS 2015 RC和MVC模板创建了一个新应用,而没有修改任何代码行,我都遇到此错误: Method not found: '!!0[] System.Array.Empty()'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'. Source Error: An …

9
从Razor声明式视图使用MVC HtmlHelper扩展
我试图在MVC 3 RTM项目的App_Code文件夹中创建Razor声明式帮助程序。 我遇到的问题是MVC HtmlHelper扩展(如ActionLink)不可用。这是因为已编译的帮助程序从派生而来System.Web.WebPages.HelperPage,尽管它公开了一个Html属性,但其类型System.Web.WebPages.HtmlHelper而不是System.Web.Mvc.HtmlHelper。 我遇到的那种错误的例子是: 'System.Web.Mvc.HtmlHelper'不包含'ActionLink'的定义,并且找不到扩展方法'ActionLink'接受类型为'System.Web.Mvc.HtmlHelper'的第一个参数(您是否缺少using指令?或装配参考?) 我唯一的解决方案是创建自己的HelperPage并覆盖Html属性: using System.Web.WebPages; public class HelperPage : System.Web.WebPages.HelperPage { // Workaround - exposes the MVC HtmlHelper instead of the normal helper public static new HtmlHelper Html { get { return ((System.Web.Mvc.WebViewPage) WebPageContext.Current.Page).Html; } } } 然后,我必须在每个助手的顶部写以下内容: @inherits FunnelWeb.Web.App_Code.HelperPage @using System.Web.Mvc @using System.Web.Mvc.Html @helper …

4
使用[Authorize]时,请求超出了配置的maxQueryStringLength
我在C#中有一个MVC3网站,我在一个特定的视图中从JavaScript函数获取查询参数,该函数通过重定向到该站点 window.location.href =“ ../ActionName?” + query_string; query_string是由JavaScript函数构建的动态查询参数字符串。 这种怪异的原因是,有时相同的函数由于必须使用reportviewer控件而将URL传递给ASP.Net Web窗体,在这种情况下,备用操作是保存一些参数,该函数将传递给视图。(如果没有意义,可以详细说明) 在向动作方法介绍[Authorize]之前,整个过程都工作正常。如果安装到位,则中断,如果没有,则可以正常运行,并且在其他所有方法上,[授权]都可以正常运行。 在这种情况下,整个网址的长度为966个字符,经过研究后,似乎maxQueryStringLength的默认值是2048,但可以覆盖任何整数类型的值,因此我只对咧嘴笑说就添加了 <security> <requestFiltering> <requestLimits maxQueryString="2048"></requestLimits> </requestFiltering> </security> 密钥下的Web配置文件的密钥。 那里没有欢乐,所以我很荒谬,把它变成了4096,仍然没有欢乐。 现在,整个URL的长度为966个字符,authorize属性不能再严重添加另外的1082-3130个字符,因此,我如何确定错误实际上是什么,或为什么设置无效。 VS2010 Pro SP1

10
动作图片MVC3剃刀
在MVC3中使用Razor用图像替换链接的最佳方法是什么。我现在只是这样做: <a href="@Url.Action("Edit", new { id=MyId })"><img src="../../Content/Images/Image.bmp", alt="Edit" /></a> 有没有更好的办法?

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.