Estoy tratando de renderizar la acción de url con javascript en un proyecto de MVC. Capturo un evento en mi página que llama a esta función, pero no estoy seguro de cómo llamar a esta URL determinada.¿Cómo llamar acción de URL en MVC con la función javascript?
¿Alguien me puede ayudar, por favor? :)
function onDropDownChange(e) {
var url = '/Home/Index/' + e.value;
//What now...?
}
----------- ----------------------- Editado
Here' es mi acción del controlador:
public ActionResult Index(int? id)
{
var tmpToday = DateTime.Now;
var today = new DateTime(tmpToday.Year, tmpToday.Month, tmpToday.Day, 0, 0, 0);
if (id != null)
{
var num = id.GetValueOrDefault();
var rentableUnits = new List<Unit>();
_unitLogic.GetAllRentableUnitsByArea(num, rentableUnits);
var allAvailabilities = new ShowAvailability[rentableUnits.Count];
for (int i = 0; i < rentableUnits.Count; i++)
{
var sTime = GetFirstDayOfMonth(today);
var eTime = GetLastDayOfMonth(today);
allAvailabilities[i] = new ShowAvailability(sTime, eTime.AddHours(23.0).AddMinutes(59.0), rentableUnits);
today = today.AddMonths(1);
}
var showAvailability = new List<ShowAvailability>(allAvailabilities);
return View(new HomeFormViewModel(showAvailability));
}
else
{
var allAvailabilities = new ShowAvailability[12];
for (int i = 0; i < 12; i++)
{
var sTime = GetFirstDayOfMonth(today);
var eTime = GetLastDayOfMonth(today);
allAvailabilities[i] = new ShowAvailability(sTime, eTime.AddHours(23.0).AddMinutes(59.0));
today = today.AddMonths(1);
}
var showAvailability = new List<ShowAvailability>(allAvailabilities);
return View(new HomeFormViewModel(showAvailability));
}
}
#
Estoy usando la extensión Telerik para mi DropDownList que dispara la función Javascript, esto es, de hecho, una vista de la maquinilla de afeitar:
@(Html.Telerik().DropDownList()
.Name("DropDownList")
.Items(area =>
{
area.Add().Text("Öll svæði").Value("0").Selected(true);
foreach (Unit a in Model.Areas)
{
area.Add().Text(a.Name).Value(a.UnitID.ToString());
}
})
.HtmlAttributes(new { style = "width: 130px;" })
.ClientEvents(clev => clev.OnChange("onDropDownChange"))
)
tope aquí tienes el script:
function onDropDownChange(e) {
var url = '/Home/Index/' + e.value;
$.ajax({
type: "GET",
url: url,
data: {},
dataType: "html"
});
}
¿Cómo se llama 'onDropDownChange'? ¿A qué corresponde 'e'? – ShankarSangoli
¿Está buscando una llamada ajax o carga de una nueva página? ¿Has intentado buscar en Google "javascript call new url"? – scrappedcola
¿Qué quieres decir con llamar? ¿Volver a cargar la página a una nueva u obtener los datos de esa url sin actualizar? – Mikhail