了解 MVC 中的表单:如何从列表填充模型<>
图像中的结论,可以在底部找到
我在了解表单在 MVC 中的工作方式时遇到了一些麻烦(因为我是一名 WebForms 开发人员,并且真的想开始在一个大项目中使用 MVC)
我获取MVC2 Web 项目并向其中添加一个简单的ViewModel
namespace TestForms.Models
{
public class myFormViewModel
{
public myFormViewModel() { this.Options = new List<myList>(); }
public string Name { get; set; }
public string Email { get; set; }
public List<myList> Options { get; set; }
}
public class myList
{
public myList() { this.Value = this.Name = ""; this.Required = false; }
public string Name { get; set; }
public string Value { get; set; }
public string Type { get; set; }
public bool Required { get; set; }
}
}
创建一个强类型视图,将一个新对象传递给该视图并运行它。
当我按下提交时,它不会返回 Options
部分中的内容...我怎样才能绑定它?
我的观点
替代文本 http://www.balexandre.com/temp/2010- 10-11_1357.png
填写生成的表单
替代文本 http: //www.balexandre.com/temp/2010-10-11_1353.png
当我按提交时,选项
部分不会传递给模型! 我忘记了什么?
alt text http:// www.balexandre.com/temp/2010-10-11_1352.png
结论
更改 View 循环来分配序号,我们现在的
<%= Html.TextBox("model.Options[" + i + "].Value", option.Value)%>
model
是我们传递给视图的模型变量的名称
Options
是 List
类型的属性名称
然后我们使用属性名称
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查看您的用户界面,您似乎没有将选项成员中的数据放入其中。
另请检查您是否将数据包含在表单元素中
编辑:
抱歉!我没有意识到你正在填充控制器内的对象。您能显示视图中的代码吗?
Looking at your UI it seems that you did not put the data from the Options member on it.
Also check that you enclose the data in a form element
EDIT:
Sorry! I did'nt realized that you was filling the object inside the controller. Can you please show the code you have in the view?