我最近开始使用ASP.net MVC(4),但我无法绕过我遇到的这个问题。 当你知道的时候,我相信这很容易。 我本质上是在我的索引视图中执行以下操作: 在索引视图中列出“注释”types的数据库中的当前项目(这很容易) 在相同的索引视图中创build新的项目(并不那么容易)。 所以我想我需要一个局部视图,而且我已经创build如下(_CreateNote.cshtml): @model QuickNotes.Models.Note @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Note</legend> <div class="editor-label"> @Html.LabelFor(model => model.Content) </div> <div class="editor-field"> @Html.EditorFor(model => model.Content) @Html.ValidationMessageFor(model => model.Content) </div> <p> <input type="submit" value="Create" /> </p> </fieldset> } 在我原来的索引视图(Index.cshtml)我试图呈现这个局部视图: @model IEnumerable<QuickNotes.Models.Note> @{ ViewBag.Title = "Personal notes"; } <h2>Personal notes</h2> <p> @Html.ActionLink("Create New", "Create") </p> <table> […]
我希望有一个单独的行动,以及post回应。 我尝试了以下 [HttpGet] [HttpPost] public ActionResult SignIn() 这似乎没有工作。 有什么build议么 ?
作品 <a href="@Url.Action("edit", "markets", new { id = 1 })" data-rel="dialog" data-transition="pop" data-icon="gear" class="ui-btn-right">Edit</a> 不工作 – 为什么? @Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new {@class="ui-btn-right", data-icon="gear"}) 看来你不能传递像data-icon =“齿轮”到htmlAttributes? build议?
在我的MVC3项目中,我存储了足球/足球/曲棍球/ …运动游戏的分数预测。 所以我的预测课程的一个属性如下所示: [Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")] [StringLength(2, ErrorMessage = "Max 2 digits")] [Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")] public int? HomeTeamPrediction { get; set; } 现在,我还需要更改数据types的错误消息,在我的情况下, int 。 有一些默认使用 – “HomeTeamPrediction必须是一个数字”。 需要find一种方法来改变这个错误信息。 这个validation消息似乎也要预测远程validation。 我试过[DataType]属性,但这似乎不是在system.componentmodel.dataannotations.datatype枚举中的普通数字。
当我在MVC 2预览版1中使用DataAnnotationvalidation时,如何testing我的控制器操作在validation实体时是否在ModelState中input了正确的错误? 一些代码来说明。 首先,行动: [HttpPost] public ActionResult Index(BlogPost b) { if(ModelState.IsValid) { _blogService.Insert(b); return(View("Success", b)); } return View(b); } 这是一个失败的unit testing,我认为应该通过,但不是(使用MbUnit&Moq): [Test] public void When_processing_invalid_post_HomeControllerModelState_should_have_at_least_one_error() { // arrange var mockRepository = new Mock<IBlogPostSVC>(); var homeController = new HomeController(mockRepository.Object); // act var p = new BlogPost { Title = "test" }; // date and content should […]
我正在尝试使用像Orchard CMS这样的可插入架构来构buildMVC4 / MVC5应用程序。 所以我有一个MVC应用程序,这将是启动项目和照顾auth,导航等。然后将有多个模块单独构build为asp.net类库或剥离mvc项目,并有控制器,视图,数据仓库等。 我已经花了整整一天的时间在网上的教程和下载样本等,发现肯尼有最好的例子 – http://kennytordeur.blogspot.in/2012/08/mef-in-aspnet-mvc-4-and -webapi.html 我能够从模块(独立的DLL)中导入控制器,如果我添加对这些DLL的引用。 但是使用MEF的原因是能够在运行时添加模块。 我希望将DLL和视图一起复制到启动项目的〜/ Modules //目录中(我设法做到了这一点),MEF只会把它们选中。 努力使MEF加载这些库。 还有MefContrib在这个答案解释ASP.NET MVC 4.0控制器和MEF,如何把这两个一起? 这是我将要尝试的下一件事情。 但是我很惊讶,MEF没有像MVC那样开箱即可。 有没有人有类似的架构工作(有或没有MefContrib)? 最初,我甚至想到剥离Orchard CMS并将其用作框架,但这太复杂了。 在MVC5中开发应用程序以利用WebAPI2也是很好的。
如果没有select的下拉列表的值,是否有一种方法可以包含默认的空白选项(或文本)?
我正在开发一个MVC2应用程序,并希望设置文本input的最大长度属性。 我已经使用数据注释在Model对象上定义了stringlength属性,它正确地validation了inputstring的长度。 我不想在我的视图中重复相同的设置,通过手动设置最大长度属性模型已经有信息。 有没有办法做到这一点? 下面的代码片段: 从型号: [Required, StringLength(50)] public string Address1 { get; set; } 从视图: <%= Html.LabelFor(model => model.Address1) %> <%= Html.TextBoxFor(model => model.Address1, new { @class = "text long" })%> <%= Html.ValidationMessageFor(model => model.Address1) %> 我想避免做的是: <%= Html.TextBoxFor(model => model.Address1, new { @class = "text long", maxlength="50" })%> 我想要得到这个输出: <input type="text" name="Address1" maxlength="50" […]
任何人都可以告诉我window.location.href和top.location.href之间的区别? 还有哪里可以使用哪一个。 在ajax调用mvc之后redirect哪一个会更好?
我正在创build一个新的MVC4项目,研究使我相信从javascript到服务器端的通信现在可以通过web API框架而不是控制器动作来实现。 我的理解是否正确? 我假设我可以在Web API和MVC控制器之间共享我的所有属性等,所以对我来说这似乎不是一个巨大的改变。 当我设置应用程序时,我喜欢将组件分解到项目中。 我的计划是有一个MVC项目和一个Web API项目。 但是我遇到了问题。 例如,我已经结束了2个应用程序,单独的路由设置等。 所以我的问题是,在MVC应用程序中,应该将Web API框架放在同一个项目中,还是应该将Web API分离成一个自己的项目并解决问题?