Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 在MVC3中使用@Html.HiddenFor_Asp.net Mvc 3_Requiredfieldvalidator_Modelstate_Html.hiddenfor - Fatal编程技术网

Asp.net mvc 3 在MVC3中使用@Html.HiddenFor

Asp.net mvc 3 在MVC3中使用@Html.HiddenFor,asp.net-mvc-3,requiredfieldvalidator,modelstate,html.hiddenfor,Asp.net Mvc 3,Requiredfieldvalidator,Modelstate,Html.hiddenfor,我有很多麻烦。 我觉得MVC讨厌我 第一。我使用Linq,模型是自动生成的。我刚刚用[Required]标记/指令完成了所需的属性 第二。我有一个连接两个模型的“大模型”。 就像这里解释的一样-> 当我尝试回发一个具有诸如null之类属性的模型的视图时,is的ModelState.isvalid==false。我认为这是显而易见的,因为我将[Required]设置为模型需要的一些属性。 把我带到这里来的东西来了 三,。当我尝试使用@Html.HiddenFor(…)时,我的页面不会回发。 如果

我有很多麻烦。 我觉得MVC讨厌我

第一。我使用Linq,模型是自动生成的。我刚刚用[Required]标记/指令完成了所需的属性

第二。我有一个连接两个模型的“大模型”。 就像这里解释的一样->


当我尝试回发一个具有诸如null之类属性的模型的视图时,is的ModelState.isvalid==false。我认为这是显而易见的,因为我将[Required]设置为模型需要的一些属性。 把我带到这里来的东西来了

三,。当我尝试使用@Html.HiddenFor(…)时,我的页面不会回发。 如果我使用,比方说,3 HiddenFor,页面会回发,但是如果我使用10 HiddenFor,页面会静止不动。它哪儿也去不了

我试着做我知识范围内的每件事(非常有限,我在MVC是个新手)

  • 我试图将这些属性带到视图中,并将其显示为“详细视图”。没有成功
  • 我试图设置@HiddenFor(model=>model.Client)。在操作中,将作为null传递
  • 我试着用这一大堆藏身之物
  • 我试图在隐藏(ClientID)中只传递一个ID,并从数据库中检索对象,但一旦在操作中,ModelState将不会“更新”其状态

我为什么要这样做? 我这样做是因为我需要页面在框未填充时显示“必填字段消息”,因此禁止页面在没有数据的情况下发回。 我的数据库很好,这些字段是“NOTNULL”,因此,我可以从属性中删除[Required],但我会丢失“Required Field Message”(除了我试图避免的回发之外)

如果有人有答案或答案,请把它贴出来。。。我要开枪了,xD

先谢谢你

PS:对不起,我的英语。。。我知道这不好(甚至不正常)


看法


编辑2:

我仍然在触摸代码,当我注释

@Html.HiddenFor(model => model.INMUEBLE.PrecioVenta)
如果“PrecioVenta”是一个十进制数(18,2),那么页面会发回。。。很明显,它仍然得到一个ModelState.isValid==false,因为我留下了这个值

我能做什么

“HiddenFor”的基本类型是什么?
或者是.Net Framework中的某些东西无法正确“映射”该数据类型?

我认为问题在于客户端验证和小数。 当您有一个十进制值时,它会在您的区域性中将其呈现为“35,0”。。。但是javascript验证器不会将“,”识别为十进制

这是我遇到的一个问题,但我在stackoverflow中找到了一篇关于修改javascript验证器的帖子


我认为问题在于客户端验证和小数。 当您有一个十进制值时,它会在您的区域性中将其呈现为“35,0”。。。但是javascript验证器不会将“,”识别为十进制

这是我遇到的一个问题,但我在stackoverflow中找到了一篇关于修改javascript验证器的帖子


您应该发布代码、视图和控制器。。。所以我们可以帮助你。@Romias我编辑了我的帖子并添加了代码。我希望你能理解它,因为类和属性的名称是用西班牙语写的。有点像可以解决它。。。我只是从hiddenFor中去掉了“Price”,它是不需要的,因此ModelState.isValid==true。我喜欢努力卷起袖子来完成这件肮脏的工作,但是当你不知道为什么会发生这些事情时,你会觉得有点愚蠢。你能给我任何关于这件事的线索都很好!用英语写一个乌拉圭人给一个阿根廷人是很有趣的:)你有我对你的问题的理解作为答案。真的很有趣。。。这就是全球化世界对我们所做的。在新的生活中,我要感谢你!你应该发布你的代码,视图和控制器。。。所以我们可以帮助你。@Romias我编辑了我的帖子并添加了代码。我希望你能理解它,因为类和属性的名称是用西班牙语写的。有点像可以解决它。。。我只是从hiddenFor中去掉了“Price”,它是不需要的,因此ModelState.isValid==true。我喜欢努力卷起袖子来完成这件肮脏的工作,但是当你不知道为什么会发生这些事情时,你会觉得有点愚蠢。你能给我任何关于这件事的线索都很好!用英语写一个乌拉圭人给一个阿根廷人是很有趣的:)你有我对你的问题的理解作为答案。真的很有趣。。。这就是全球化世界对我们所做的。在新的生活中,我要感谢你!嗯,我想你成功了。是的,我在客户端验证中遇到了逗号和点的问题。我试图按照链接所说的(这是在周日)更正脚本,但在不引人注目的验证中仍然失败。我决定让它这样,并在未来修复它。现在这不是重点。哦,我还修改了web配置,并将“文化”和“uiCulture”设置为自动。也没有成功。嗯,我想你成功了。是的,我在客户端验证中遇到了逗号和点的问题。我试图按照链接所说的(这是在周日)更正脚本,但在不引人注目的验证中仍然失败。我决定让它这样,并在未来修复它。现在这不是重点。哦,我还修改了web配置,并将“文化”和“uiCulture”设置为自动。也没有成功。
//
        // GET: /Inmueble/Sale/5

        public ActionResult VentaP(int id)
        {
            OperacionModel unModeloOperacionCompuesto = new OperacionModel();
            unModeloOperacionCompuesto.INMUEBLE = InmuebleDatos.DetallesInmueble(id);
            return View(unModeloOperacionCompuesto);
        }

        //
        // POST: /Inmueble/Sale/5

        [HttpPost]
        public ActionResult VentaP(OperacionModel model, FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here

                model.INMUEBLE = InmuebleDatos.DetallesInmueble(model.INMUEBLE.IDInmueble);

                CLIENTE clienteComprador = new CLIENTE();
                clienteComprador.Nombre = model.OPERACION.CLIENTE1.Nombre;
                clienteComprador.Apellido = model.OPERACION.CLIENTE1.Apellido;
                clienteComprador.DNI = model.OPERACION.CLIENTE1.DNI;
                clienteComprador.FechaNacimiento = model.OPERACION.CLIENTE1.FechaNacimiento;

                OPERACION nuevaOperacion = new OPERACION();

                int unIDUsuario = UsuarioDatos.IDUsuario(User.Identity.Name);
                int unIDFormaPago = Convert.ToInt32(collection["SelectFP"]);
                decimal unaComision = model.OPERACION.Comision;
                int unLegajo = model.OPERACION.Legajo;

                if (ModelState.IsValid)
                {
                    nuevaOperacion.INMUEBLE = model.INMUEBLE;
                    nuevaOperacion.FechaOperacion = DateTime.Now;
                    nuevaOperacion.IDUsuario = unIDUsuario;
                    nuevaOperacion.IDFormaPago = unIDFormaPago;
                    nuevaOperacion.INMUEBLE.IDEstado = 2;
                    nuevaOperacion.Monto = model.INMUEBLE.PrecioVenta;
                    nuevaOperacion.Comision = unaComision;
                    nuevaOperacion.Legajo = unLegajo;
                    nuevaOperacion.CLIENTE1 = clienteComprador;
                    nuevaOperacion.CLIENTE = model.INMUEBLE.CLIENTE;

                    OperacionDatos.CrearVenta(nuevaOperacion);

                    return RedirectToAction("Index");
                }
                else
                {
                    //return View(nuevaOperacion);
                    return View(model);
                }
            }
            catch
            {
                return View(model);
            }
        }
@Html.HiddenFor(model => model.INMUEBLE.PrecioVenta)