Tag: 模型绑定

如何在EF中配置一对多关系

我有以下型号 public class PageConfig : Base { // Properties Etc.. public ICollection ScrollerImages { get; set; } } 我的方法是使用联结表{PageConfigID,ImageID}进行绑定。 在我的模型活页夹中,我尝试了以下.. modelBuilder.Entity() .HasMany(x => x.ScrollerImages) .WithMany() .Map(x => { x.ToTable(“junc_PageConfigScrollerImages”); x.MapLeftKey(“PageConfigID”); x.MapRightKey(“ImageID”); }); 这导致图像的空集合。 如何将这些图像绑定到PageConfig模型? 编辑 大多数问题是由于用户错误。 这发生在你身上…… 检查数据库中的键约束是否已正确设置。 模型上的ICollection需要是虚拟的。

ModelBindervalidation使用reflection在getter上中断

我遇到了一个似乎与reflection和模型绑定器validation有关的问题,特别是FormatterParameterBinding.ExecuteBindingAsync(..) ,虽然我可以使用一个方法来做我想要的但如果我可以使用我会更喜欢它财产。 在这里,我正在寻找对模型绑定器validation过程的一些见解,为什么我无法做我想做的事情以及如何解决问题,或者解决它。 设置 public class ModelBindingValidationBreaker { public ModelBindingValidationBreaker() { Properties = new List(); } public int A { get; set; } public int B { get; set; } public IList Properties { get; set; } /*// Uncomment to break the model binder validation! public IList PropertyInfos { get { return GetType() .GetProperties() .Where(pi […]

非顺序列表绑定不起作用

根据这篇文章,我试图绑定一个非顺序项列表。 视图: 行动方式: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Products(IList products) { return View(“Index”); } 绑定似乎对我不起作用,参数产品总是包含null。 我错过了什么吗? 任何帮助非常感谢,谢谢。 请注意,我使用的是ASP.NET MVC 1.0

字典<short,Dictionary >模型绑定不起作用

我无法将模型绑定到Controller。 请给我任何建议。 模型,控制器和视图类如下。 当模型被子类化时,字典属性等于null。 public class GroupRights //model { public List groups { get; set; } public Dictionary<short, Dictionary> groupRights { get; set; } // group function HasPermission } public enum EnFunction { LPDU_login, LPDU_changePassword, LPDU_transitList, LPDU_PosEventList, …. } 调节器 public ActionResult GroupRights() { TocCommonService.CommonServiceClient client = new TocCommonService.CommonServiceClient(); GroupRights gr = new GroupRights(); gr.groups […]

WebAPI自定义模型绑定复杂的抽象对象

这是困难的一个。 我有一个从JSON绑定模型的问题。 我试图解决多态一致的记录提供的记录,它将解析为(我希望以后能够添加许多记录类型)。 我试图在调用端点时使用以下示例来解析我的模型,但是此示例仅适用于MVC而不适用于Web API应用程序。 我试图使用IModelBinder和BindModel(HttpActionContext actionContext,ModelBindingContext bindingContext)编写它。 但是,我在System.Web.Http命名空间中找不到ModelMetadataProviders的等价物。 感谢任何人都能给予的帮助。 我有一个Web API 2应用程序,它具有以下对象结构。 public abstract class ResourceRecord { public abstract string Type { get; } } public class ARecord : ResourceRecord { public override string Type { get { return “A”; } } public string AVal { get; set; } } public class BRecord : […]

ASP.NET MVC 2 – 绑定到抽象模型

如果我有以下强类型视图: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage” %> 位置是抽象类。 我有以下控制器,它通过POST接受强类型模型: [HttpPost] public ActionResult Index(Location model) 我收到一个运行时错误,指出“无法创建抽象类 这当然有道理。 但是 – 我不确定这里最好的解决方案是什么。 我有很多具体的类型(大约8个),这是一个只能编辑抽象类属性的视图。 我试图做的是为所有不同的具体类型创建重载,并以通用方法执行我的逻辑。 [HttpPost] public ActionResult Index(City model) { UpdateLocationModel(model); return View(model); } [HttpPost] public ActionResult Index(State model) { UpdateLocationModel(model); return View(model); } 等等 然后: [NonAction] private void UpdateLocationModel (Location model) { // ..snip – update […]

ASP.Net 4.5模型绑定按导航属性排序

所有, 我有一个网格视图,其中包含以下列。 分页工作很棒,但没有排序。 每次我点击Category列按类别排序我都会收到此错误: 没有为类型’ESA.Data.Models.Entity.Project’定义实例属性’Category.CategoryName’ 此错误声明不正确,因为gridview能够正确显示列。 这是select方法 public IQueryable getProjects() { ApplicationServices objServices = new ApplicationServices(); IQueryable lstProject; lstProject = objServices.getProjects(); return lstProject; } 有什么建议吗?

MVC2 TextBoxFor提交后值不更新?

这是一个非常奇怪的行为,我已经设置了一些演示代码来试图弄清楚发生了什么。 基本上有两个动作和一个视图。 第一个操作将空模型发送到视图,该部分操作接收模型,更改其内容并将其发送回同一视图。 在视图中,模型似乎具有更新的值,但是当我执行Html.TextBoxFor(x => x.PropertyNameHere)时,它会呈现一个文本框,其中包含未更改的值。 大声笑……我提前为厕所幽默道歉,但它让这一天变得无聊。 ;) 有谁知道这里发生了什么? 为什么TextBoxFor的输出将旧值放在value属性中? 这是要复制的代码: /Views/Demo/Index.aspx <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage” %> Demo Foo: x.Foo)%> Bar: x.Bar) %> PoopSmith: x.PoopSmith) %> Submit DemoModel.cs namespace TestWeb { public class DemoModel { public string Foo { get; set; } public int Bar { get; set; } public string PoopSmith { get; set; […]

ASP.NET MVC 3模型绑定和表单字段

我有一个名为Domain.Models.BlogPost的实体,它包含以下属性: postID 标题 作者 发表日期 身体 我还有一个名为Domain.Models.PostComment的实体,它包含以下属性: CommentID postID 作者 电子邮件 网站 身体 BlogPost包含许多PostComments 。 一对多的关系。 现在我有这样的观点(通过html评论从博客文章代码中分离出评论表格): @model Domain.Models.BlogPost @using Domain.Models; @{ ViewBag.Title = “Post”; } @Model.Title Posted by @Model.Author on @Model.PostedDate.ToString(“D”) @Html.Markdown(Model.Body) @Model.PostComments.Count Comment(s). @foreach (PostComment postComment in Model.PostComments) { Html.RenderPartial(“PostComment”, postComment); } @using (Html.BeginForm(“AddComment”, “Blog”)) { @Html.Hidden(“PostID”, Model.PostID) Name: @Html.TextBox(“Author”) Email: @Html.TextBox(“Email”) Website: […]

MVC4 webapi中的反序列化/模型绑定不适用于数组

我正在使用新的WebApi,它是MVC4 beta的一部分。 我有以下课程: public class Voucher { public string Id { get; set; } public string TableId { get; set; } public Product[] Products { get; set; } } 我的控制器看起来像这样: public class VouchersController : ApiController { public Voucher PostVoucher(Voucher voucher) { //…. } } 在客户端,我使用XmlSerializer序列化数据。 输出看起来像预期的那样, Products数组是序列化的。 如果我发布数据并在PostVoucher方法中放置一个断点,我会获得Id和TableId的数据,但Products为null 。 什么暗示我可能做错了什么?