Or do for the upgrade:
Controller
//perform search by my type data
private void viewbag_imp_tx_type()
{
List items = new List();
var db = new projeto_entities();
var query = db.impressora.Select(c => new { c.imp_tx_tipo }).ToList();
ViewBag.viewbag_imp_tx_tipo = new SelectList(query.AsEnumerable(), "imp_tx_tipo");
}
// GET: Printer/Edit/5
public Actionresult editarimpressora(int id_printer)
{
var impressora = impbo.consultar_id_impressora(id_impressora);
viewbag_local();
viewbag_imp_tx_tipo();
return PartialView(impressora);
}
// POST: Impressora/Edit/5
[HttpPost, ActionName("editarimpressora")]
[ValidateAntiForgeryToken]
public ActionResult atualizarimpressora([Bind(Include = "locl_nr_id")]int locl_nr_id, impressora imp)
{
viewbag_local();
viewbag_imp_tx_tipo();
if (ModelState.IsValid)
{
try
{
if (imp.imp_tx_tipo == "USB" || imp.imp_tx_tipo == "FAX")
{
var _impressora = new impressora()
{
locl_nr_id = locl_nr_id,
imp_nr_id = imp.imp_nr_id,
imp_tx_marca = imp.imp_tx_marca.Trim().ToUpper(),
imp_tx_modelo = imp.imp_tx_modelo.Trim().ToUpper(),
imp_tx_serie = imp.imp_tx_serie.Trim().ToUpper(),
imp_nm_volts = imp.imp_nm_volts,
imp_nm_ip = "000.000.000.000",
imp_nm_patrimonio = imp.imp_nm_patrimonio,
imp_dt_cadt = imp.imp_dt_cadt,
imp_tx_status = imp.imp_tx_status.Trim().ToUpper(),
imp_tx_obs = imp.imp_tx_obs.Trim().ToUpper(),
imp_tx_tipo = imp.imp_tx_tipo.Trim().ToUpper(),
imp_tx_tipo_ip = "N".Trim().ToUpper(),
imp_nm_mac_wifi = "00:00:00:00:00:00",
imp_nm_mac_ethernet = "00:00:00:00:00:00",
imp_tx_mon_biv = imp.imp_tx_mon_biv.Trim().ToUpper(),
imp_tx_tipo_imp = imp.imp_tx_tipo_imp.Trim().ToUpper()
};
impbo.atualizar_impressora(_impressora);
return RedirectToAction("listarallimpressora");
}
else
if (imp.imp_tx_tipo == "REDE" && imp.imp_tx_tipo_ip == "D")
{
var impressora = new impressora()
{
locl_nr_id = locl_nr_id,
imp_nr_id = imp.imp_nr_id,
imp_tx_marca = imp.imp_tx_marca.Trim().ToUpper(),
imp_tx_modelo = imp.imp_tx_modelo.Trim().ToUpper(),
imp_tx_serie = imp.imp_tx_serie.Trim().ToUpper(),
imp_nm_volts = imp.imp_nm_volts,
imp_nm_ip = "000.000.000.000",
imp_nm_patrimonio = imp.imp_nm_patrimonio,
imp_dt_cadt = imp.imp_dt_cadt,
imp_tx_status = imp.imp_tx_status.Trim().ToUpper(),
imp_tx_obs = imp.imp_tx_obs.Trim().ToUpper(),
imp_tx_tipo = imp.imp_tx_tipo.Trim().ToUpper(),
imp_tx_tipo_ip = imp.imp_tx_tipo_ip.Trim().ToUpper(),
imp_nm_mac_wifi = imp.imp_nm_mac_wifi,
imp_nm_mac_ethernet = imp.imp_nm_mac_ethernet,
imp_tx_mon_biv = imp.imp_tx_mon_biv.Trim().ToUpper(),
imp_tx_tipo_imp = imp.imp_tx_tipo_imp.Trim().ToUpper()
};
impbo.atualizar_impressora(impressora);
return RedirectToAction("listarallimpressora");
}
else
if (imp.imp_tx_tipo == "REDE" && imp.imp_tx_tipo_ip == "E")
{
var impressora = new impressora()
{
locl_nr_id = locl_nr_id,
imp_nr_id = imp.imp_nr_id,
imp_tx_marca = imp.imp_tx_marca.Trim().ToUpper(),
imp_tx_modelo = imp.imp_tx_modelo.Trim().ToUpper(),
imp_tx_serie = imp.imp_tx_serie.Trim().ToUpper(),
imp_nm_volts = imp.imp_nm_volts,
imp_nm_ip = imp.imp_nm_ip,
imp_nm_patrimonio = imp.imp_nm_patrimonio,
imp_dt_cadt = imp.imp_dt_cadt,
imp_tx_status = imp.imp_tx_status.Trim().ToUpper(),
imp_tx_obs = imp.imp_tx_obs.Trim().ToUpper(),
imp_tx_tipo = imp.imp_tx_tipo.Trim().ToUpper(),
imp_tx_tipo_ip = imp.imp_tx_tipo_ip.Trim().ToUpper(),
imp_nm_mac_wifi = imp.imp_nm_mac_wifi,
imp_nm_mac_ethernet = imp.imp_nm_mac_ethernet,
imp_tx_mon_biv = imp.imp_tx_mon_biv.Trim().ToUpper(),
imp_tx_tipo_imp = imp.imp_tx_tipo_imp.Trim().ToUpper()
};
impbo.atualizar_impressora(impressora);
return RedirectToAction("listarallimpressora");
}
}
catch (DataException)
{
ModelState.AddModelError("", "Nao Foi Possivel Atualizar o Dado da Impressora. Favor Entrar em Contato com o Administrador...");
}
}
return View();
}
}
In my view:
TYPE:
<div class="row">
<div class="input-field col s3">
<div>
@{
// In a real system we would get this list from the database
List<SelectListItem> lista = new List<SelectListItem>();
lista.Add(new SelectListItem() { Text = "FAX", Value = "FAX" });
lista.Add(new SelectListItem() { Text = "USB", Value = "USB" });
lista.Add(new SelectListItem() { Text = "REDE", Value = "REDE" });
}
@{
foreach (var opt in @ViewBag.viewbag_imp_tx_tipo)
{
string FAX = ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId("FAX");
string USB = ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId("USB");
string REDE = ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId("REDE");
<p>
@Html.RadioButton("imp_tx_tipo", "FAX", new { id = "FAX", List = lista, value="FAX"})
@*<input name="imp_tx_tipo" type="radio" id="FAX" class="with-gap" value="FAX" checked />*@
<label for="FAX">FAX</label>
@Html.RadioButton("imp_tx_tipo", "USB", new { id = "USB", List = lista, value = "USB" })
@*<input name="imp_tx_tipo" type="radio" id="USB" class="with-gap" value="USB" />*@
<label for="USB">USB</label>
@Html.RadioButton("imp_tx_tipo", "REDE", new { id = "REDE", List = lista, value = "REDE" })
@*<input name="imp_tx_tipo" type="radio" id="REDE" class="with-gap" value="REDE" />*@
<label for="REDE">REDE</label>
</p>
break;
}
@Html.ValidationMessageFor(model => model.imp_tx_tipo, "", new { @class = "red-text text-darken-2" })
}
</div>
</div>
</div>
Go our separate ways !!
Good luck!!
I spent two days trying to figure out the best way to send View parameters to the Controller I tried many solutions I spent hours in the forum, and with your answer I could observe that it is possible to pass any "name" property of an HTML to the controller in a very simple way. What I’m surprised at is that I’m sure a lot of other people knew that and walked past this pole without saying a word. The more I am very grateful to learn this, I’m sure it will be a great differential for me.
– Harry
@itasouza It’s not really a question of not having spoken. It is often difficult to understand what the AP is needing. I understood why I’ve had this same doubt.
– Randrade