Tengo una aplicación MVC, cuya vista SharedLayout (página maestra) le da la capacidad de búsqueda al usuario. Podrían buscar su orden por Orden No o Por Bill no. Entonces, hay dos botones de opción, la Vista compartida junto con el cuadro de texto. Código es algo como estoDevolver diferentes vistas desde el controlador MVC
@using (Html.BeginForm("Track", "Tracking", FormMethod.Post))
{
<div style="text-align: center">
<textarea cols="20" id="txtNo" name="txtOrderNo" rows="2" ></textarea>
</div>
<div style="text-align: center">
<input type="radio" name="optOrderNo" checked="checked" value="tracking" />Order No <input type="radio" name="optRefNo" value="tracking" />Ref No
</div>
<div style="text-align: center">
<input type="submit" value="Track" />
</div>
}
Así que va a ir a TrackingController y método Track en ella y volver la vista. Funciona bien para una sola búsqueda, ya que una Vista está asociada con los métodos de un controlador. Funciona bien, pero ¿cómo podría devolver de forma condicional la otra vista en función de la selección del botón de selección?
Lo que ocurre es este
[HttpPost]
public ActionResult Track(FormCollection form)
{
string refNo = null;
if (form["optRefNo"] == null)
{
string OrderNo = form["txtOrderNo"];
var manager = new TrackingManager();
var a = manager.ConsignmentTracking(OrderNo);
var model = new TrackingModel();
if (OrderNo != null)
model.SetModelForConsNo(a, consNo);
return View(model);
}
refNo = form["txtConsNo"];
return TrackByRef(refNo);
}
public ActionResult TrackByRef(string refNo)
{
//what ever i want to do with reference no
return View();
}
amablemente guíe. Gracias
+1, Me ganaste 20 segundos) –