asp.net mvc 3 c#post变量数组
|
我需要将数组传递给POST方法.但我显然错过了一些东西
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Klausimynas.Models.Rezultat>" %> <input type="text" name="x[1]"> <input type="text" name="x[2]"> <input type="text" name="x[3]"> <input type="text" name="x[4]"> <input type="text" name="x[5]"> <input type="text" name="x[6]"> <input type="text" name="x[7]"> 我的方法声明如下所示: [HttpPost] public ActionResult LetsTest(IEnumerable<Rezultat> rez) 当我试图提取数据时,我得到的值不能为空. 解决方法这里有一些问题:>您的视图是为Rezultat键入的,但您尝试将该模型视为IEnumerable< Rezultat>. 所以,要纠正这个问题,你需要改变一些事情. 首先,将视图更改为继承System.Web.Mvc.ViewPage< IEnumerable< Klausimynas.Models.Rezultat>>.现在,您的视图可以传递IEnumerable< Rezultat>,这是您的控制器操作所期望的. 第二,改变这个: <input type="text" name="x[0]"> 对此: <input type="text" name="[0].x"> 这样做的原因是第一个会尝试将值绑定到Model.x [0],这是(或者,一旦你正确键入你的视图),相当于一个实例的属性x中的第一个元素. IEnumerable的< Rezultat取代.这显然不太正确,因为IEnumerable没有公开属性x.你想要的是绑定Model [0] .x,它是索引0处Rezultat对象的属性x. 更好的是,使用帮助器为您生成名称: for(int i=0; i < Model.Count; i++)
{
@Html.TextBoxFor(m => m[i].x)
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在ASP.NET中的Response.Redirect中传递cookie
- asp.net-mvc – ActionResult上的自定义属性
- asp.net-mvc – Kendo UI异步上传无法在Internet Explorer中
- Asp.net Core 1.1 升级后操作mysql出错的解决办法
- asp.net – 使用Html.EditorFor生成具有特定行数和列数的te
- 如何在ASP.NET网页中嵌入代码块?
- asp.net – HttpContext.Current.User为空,即使Windows身份
- asp.net webservice返回json的方法
- asp.net-mvc – ASP.Net MVC:dbml文件的最佳实践
- asp.net – Page_ClientValidate()与多个ValidationGroups
- asp.net – 在web.config中添加程序集引用
- asp.net-mvc – 在ASP.NET MVC中使用控制器和用户
- ASP.NET – 构建自己的路由系统
- Asp.Net GridView获取TemplateField上的当前行
- asp.net-mvc – 什么是ASP.Net MVC查看引擎?
- asp.net – Visual Studio 2017 docker错误运行应
- asp.net – 如何从ReSharper中删除“使用目录”消
- asp.net-mvc – MVC不引人注目的范围验证动态值
- asp.net核心 – 在ASP.NET Core的WebDeploy期间,
- ASP.NET MVC的OnResultExecuted方法中的ActionRe
