当前位置: 首页 > 编程语言 > C#

在ASP.NETMVCPOST中绑定IEnumerable模型?在ASP.NETMVCPOST中分享

时间:2023-04-10 17:06:15 C#

模型绑定IEnumerable?将IEnumerable类型的模型绑定到MVCPOST是否有任何问题?我模型中的某些属性未绑定到操作的帖子。模型上的属性似乎可以用作字符串,但我的IEnumerable未绑定。这是我的代码片段:m.ResponseInfo.SubsetInfo.Test)%><%for(inti=0;im.ResponseInfo.SubsetInfo.BandAvailabilities.ToArray()[i].BandName)%>这是模型什么这些属性看起来像:publicIEnumerableBandAvailability{get;放;}公共字符串测试{得到;放;该视图工作正常并输出具有预期值的文本框列表。但是被解雇的帖子只将测试字符串识别为一个属性。模型状态也不包含我的IEnumerable数据。模型绑定取决于生成的html的外观。对于您的特定场景,html的正确绑定类似于..我没有尝试过,但我几乎可以肯定在循环中调用ToArray方法会阻止系统为嵌套输入生成正确的名称。您可以先做一些事情来解决这个问题,在您的视图模型中更改publicIEnumerableBandAvailabilities{get;放;}公开IListBandAvailabilities{get;方法并为输入生成一个可分辨的名称。其次,制作一个编辑器模板并将其放置在当前控制器下的editortemplates文件夹中或共享文件夹的editortemplates文件夹中。使此视图接受BandAvailabilityInfo类型的模型,此视图的名称也应为BandAvailabilityInfo。然后在主视图中,您只需替换整个循环m.ResponseInfo.SubsetInfo.BandAvaibilities%>其余的将由框架本身处理它适用于IEnumarble类型。我认为问题是您在For循环中编写的ToArray。(这也很好用)将for循环更改为foreach。有关如何实现它的信息,请参见这个出色的答案。以上就是C#学习教程:BindingIEnumerablemodelinASP.NETMVCPOST?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: