为什么我不能将html属性传递给EditorFor() ? 例如; <%= Html.EditorFor(model => model.Control.PeriodType, new { disabled = "disabled", readonly = "readonly" }) %> 我不想使用元数据 更新 :解决scheme是从视图中调用这个: <%=Html.EditorFor( model => model.Control.PeriodEndDate, new {Modifiable=model.Control.PeriodEndDateModifiable})%> 并在我的自定义EditorTemplates / String.ascx中使用ViewData["Modifiable"] ,其中我有一些视图逻辑,确定是否添加只读和/或禁用属性到input传递到EditorFor()的匿名对象是一个名为additionalViewData的参数和其属性将传递给ViewData集合中的编辑器模板。
我在我的模型中有一个名为“Promotion”的属性,它的types是一个名为“UserPromotion”的标志枚举。 我的枚举成员显示属性设置如下: [Flags] public enum UserPromotion { None = 0x0, [Display(Name = "Send Job Offers By Mail")] SendJobOffersByMail = 0x1, [Display(Name = "Send Job Offers By Sms")] SendJobOffersBySms = 0x2, [Display(Name = "Send Other Stuff By Sms")] SendPromotionalBySms = 0x4, [Display(Name = "Send Other Stuff By Mail")] SendPromotionalByMail = 0x8 } 现在我想能够在我的视图中创build一个ul来显示我的“Promotion”属性的选定值。 这是我迄今为止所做的,但问题是,我怎样才能在这里获得显示名称? <ul> @foreach […]
[为CSS类的HTMLHelper属性启用智能感知] 我有这个HTMLhelper: public IHtmlString MyTextBoxFor<TModel, TProperty>( this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> propertyExpression, string cssClass) { // … } 我希望Resharper在为“cssClass”parameter passing值时为我提供在我的应用程序中定义的IntelliSense for CSS类。 有一些代码注释属性Resharper识别,但似乎没有直接关系到将方法参数标记为CSS类。 我能find的最接近的是[HtmlAttributeValue(string name)] 。 我试图应用到这样的cssClass参数: public IHtmlString MyTextBoxFor<TModel, TProperty>( this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> propertyExpression, [HtmlAttributeValue("class")] string cssClass) { // … } 但是这不起作用。 如果Resharper能识别input的类,并停止在jQueryselect器expression式(对上面的帮助器生成的文本框进行操作)中关于未知的CSS类的问题,那也是非常棒的。 编辑:这里是一个工作方式的“htmlAttributes”参数的智能感知types的屏幕截图。 这是通过在参数上使用[HtmlElementAttributes]注释来完成的。 我想要一个类似的注释,让我把CSS类放在一个string参数,并有相同的智能感知显示CSS类。
我是非常新的ASP.NET MVC(3),我很难在Visual Studio中解决构build错误: 无法findtypes或名称空间名称“DbContext”(您是否缺lessusing指令或程序集引用?) using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MyProjectName.Models { public class MachineModel { // name [Required] [Display(Name = "Nom de la machine")] public string Name { get; set; } // IP [Required] [RegularExpression(@"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", ErrorMessage = "Donnez une adresse IPv4 valide.")] [Display(Name = "Adresse IP de […]
我的问题是,我希望从ASP.NET MVC控制器方法通过ActionResult s返回camelCased(而不是标准的PascalCase)JSON数据,由JSON.NET序列化。 作为一个例子,考虑下面的C#类: public class Person { public string FirstName { get; set; } public string LastName { get; set; } } 默认情况下,当从MVC控制器以JSON的forms返回此类的实例时,将按以下方式进行序列化: { "FirstName": "Joe", "LastName": "Public" } 我希望它被序列化(由JSON.NET)为: { "firstName": "Joe", "lastName": "Public" } 我该怎么做呢?
在专业ASP.NET MVC 1.0的NerdDinner示例中,有一种方法可以创build一个新的晚餐(复制NerdDinner版本的第89页)。 在那里它检查ModelState.IsValid为true。 它似乎检查模型是否对数据库有效(即捕获数据types转换,如具有无效格式的date,而不是业务规则)。 真的吗? 提交表单时,如果date中有错误,ModelState.IsValid将为false,您将返回一个错误,但仅限于该date,因为AddRuleViolations从未执行过。 如果您完全删除了ModelState.IsValid的检查,那么您将得到所有的错误(由于例外),包括在无效date的标记。 那么,为什么检查ModelState.IsValid呢? 我错过了什么吗? // // POST: /Dinners/Create [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(Dinner dinner) { if (ModelState.IsValid) { try { dinner.HostedBy = "SomeUser"; dinnerRepository.Add(dinner); dinnerRepository.Save(); return RedirectToAction("Details", new {id = dinner.DinnerID }); } catch { ModelState.AddRuleViolations(dinner.GetRuleViolations()); } } return View(dinner); }
我有简单的webapi生成的Visual Studio 2013.it工作良好,当我从VS13运行它,但是当我复制项目在本地IIS它给我下面的错误 HTTP错误500.19 – 内部服务器错误请求的页面无法访问,因为页面的相关configuration数据无效。 详细的错误信息: 模块 IIS Web Core 通知 BeginRequest 处理程序尚未确定 错误代码 0x80070021 configuration错误此configuration部分不能用于此path。 当部分locking在父级别时,会发生这种情况。 locking可以是默认的(overrideModeDefault =“Deny”),也可以通过overrideMode =“Deny”或legacy allowOverride =“false”的位置标签进行显式设置。 Config File \?\ C:\ inetpub \ wwwroot \ APITeslin \ web.config configuration来源: 36: <system.webServer> 37: <handlers> 38: <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> Plz帮助我。 谢谢
我是唯一一个在10月15日安装了Windows Update(8.1)的人,突然MVC停止工作,因为这个警告? 警告1无法parsing此参考。 找不到程序集“System.Web.Mvc,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL”。 检查以确保程序集存在于磁盘上。 如果您的代码需要此引用,则可能会出现编译错误。 看来,这个Windows更新安装版本号为4.0.0.1的MVC的较新版本,并从程序文件文件夹中删除旧版本。 有人知道如何解决这个问题,而不是每个项目爬行?
赏金 已经有一段时间了,我还有一些未解决的问题。 我希望通过增加一个赏金,也许这些问题将得到答案。 你如何使用knockout.js的HTML助手 为什么需要准备文档才能使其工作(请参阅第一次编辑以获取更多信息) 我如何做这样的事情,如果我使用我的视图模型的挖空映射? 由于我没有一个function,由于映射。 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,似乎是双重工作,这就是为什么我喜欢那个映射。 我担心为了使这项工作变得简单(通过使用制图),我将失去很多权力,但另一方面,我担心手工制图只是大量的工作,并会使我的观点包含太多的信息,可能会在将来变得更难以维护(比如,如果我在MVC模型中删除一个属性,我也必须在KO视图模型中移动它) 原始post 我使用的是asp.net mvc 3,我正在寻找淘汰赛,因为它看起来很酷,但我很难弄清楚它如何与asp.net mvc尤其是视图模型一起工作。 对于我现在我做这样的事情 public class […]
我正在尝试从使用ASP.NET MVC 2映射Linq-2-SQL的数据库填充下拉列表,并不断收到此错误。 我很困惑,因为我在第二行声明了一个IEnumerable<SelectListItem>types的variables,但是这个错误让我觉得不是这样。 我觉得这应该很简单,但我很挣扎。 任何帮助表示赞赏。 这里是我的控制器有趣的部分: public ActionResult Create() { var db = new DB(); IEnumerable<SelectListItem> basetypes = db.Basetypes.Select( b => new SelectListItem { Value = b.basetype, Text = b.basetype }); ViewData["basetype"] = basetypes; return View(); } 以下是我的观点中有趣的部分: <div class="editor-label"> <%: Html.LabelFor(model => model.basetype) %> </div> <div class="editor-field"> <%: Html.DropDownList("basetype") %> <%: Html.ValidationMessageFor(model => […]