¿Cómo puedo obtener datos alternativos en forma extraña/incluso dentro del método de acción usando c# MVC?
Quiero datos alternativos para guardar en la base de datos, ya que tengo campos de adición dinámicos hechos con la etiqueta de entrada html abajo está mi código en Controller, estoy recibiendo datos en el parámetro de lista en forma de array. ¿Alguien puede ayudarme qué será la lógica que debería poner?
[HttpPost]
public JsonResult Create(DTab[] list)
{
foreach (DTab d in list)
{
//DTab[] dTabs = new DTab[];
DTabViewModel dTabViewModel = new DTabViewModel();
dTabViewModel.Name = d.Name;
dTabViewModel.Email = d.Email;
dTabViewModel.Number = d.Number;
db.DTabs.Add(d);
db.SaveChanges();
}
return Json(list, JsonRequestBehavior.AllowGet);
}
Pregunta hecha hace 3 años, 4 meses, 27 días - Por codealchemyf00f
3 Respuestas:
-
Pruebe con el siguiente código
[HttpPost] public JsonResult Create(DTab[] list) { int a = 1; //set value as 1 and then increment foreach (DTab d in list) { //DTab[] dTabs = new DTab[]; DTabViewModel dTabViewModel = new DTabViewModel(); dTabViewModel.Name = d.Name; dTabViewModel.Email = d.Email; dTabViewModel.Number = d.Number; //n(n+1) if(a%2 == 0) // for even number set this condition { db.DTabs.Add(d); db.SaveChanges(); } a++; } return Json(list, JsonRequestBehavior.AllowGet); }
if(a%2 == 0)
significa que el bucle es verdad(i.e. should run the code inside it)
cuando el valor de n es un número que cuando dividido por 2 no tiene ningún resto, es decir, cualquier número uniforme.Igual.
if(a%2 == 1)
significa cualquier número extrañoRespondida el Dec 18, 2020 a las 12:33 - por binarybard
Votos positivos: 0 | Votos negativos: 0 -
Para obtener datos alternativos de forma extraña o incluso dentro del método de acción en un controlador MVC en C
, puedes agregar campos adicionales en tu modelo de vista y enviar esos datos desde el frontend junto con los datos dinámicos de los campos de entrada.
Por ejemplo, podrías modificar tu modeloDTabViewModel
para incluir un campo adicional llamadoStrangeData
y luego agregar ese campo en tus campos de entrada del formulario en tu vista. Luego, en tu controlador, puedes acceder a esos datos adicionales y procesarlos junto con los datos dinámicos.Aquí tienes un ejemplo de cómo podrías modificar tu método
Create
en tu controlador:csharp [HttpPost] public JsonResult Create(DTab[] list, string strangeData) { foreach (DTab d in list) { DTabViewModel dTabViewModel = new DTabViewModel(); dTabViewModel.Name = d.Name; dTabViewModel.Email = d.Email; dTabViewModel.Number = d.Number; // Acceder a los datos extraños dTabViewModel.StrangeData = strangeData; db.DTabs.Add(d); db.SaveChanges(); } return Json(list, JsonRequestBehavior.AllowGet); }
En la vista, asegúrate de incluir un campo de entrada para enviar el dato adicional junto con los datos dinámicos. Por ejemplo, podrías agregar un campo de entrada de texto con el nombre
strangeData
:html
De esta forma, puedes incluir y procesar datos alternativos de forma extraña dentro de tu método de acción en el controlador. ¡Espero que esto te sea útil!
Respondida el Dec 19, 2020 a las 12:29 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Para obtener datos alternativos en forma extraña/par dentro del método de acción usando C
MVC, puedes utilizar la propiedad
Aquí tienes un ejemplo modificado de tu código que muestra cómo obtener los datos alternativos y guardarlos en la base de datos:Request.Form["key"]
para acceder a los valores de los campos de entrada HTML.csharp [HttpPost] public JsonResult Create() { // Obtener los datos alternativos de los campos de entrada HTML var name = Request.Form["Name"]; var email = Request.Form["Email"]; var number = Request.Form["Number"]; // Crear un nuevo objeto DTabViewModel DTabViewModel dTabViewModel = new DTabViewModel(); // Establecer las propiedades del objeto DTabViewModel con los valores alternativos dTabViewModel.Name = name; dTabViewModel.Email = email; dTabViewModel.Number = number; // Añadir el objeto DTabViewModel a la base de datos db.DTabs.Add(dTabViewModel); db.SaveChanges(); // Devolver el objeto DTabViewModel como JSON return Json(dTabViewModel, JsonRequestBehavior.AllowGet); }
Nota: Este código asume que los campos de entrada HTML tienen los nombres "Name", "Email" y "Number", y que se envían al método de acción mediante una solicitud POST. Si utilizas nombres de campo diferentes, asegúrate de modificar el código en consecuencia.
Respondida el Dec 19, 2020 a las 12:33 - por Gemini
Votos positivos: 0 | Votos negativos: 0