Je possède ce code dans mon contrôleur:annexant les résultats de ma méthode de commande à ma sélection liste déroulante MVC
public ActionResult GetTimeOptions(string Date, int SiteID)
{
DateTime pickUpDate = Convert.ToDateTime(Date);
Site site = SiteMgmt.GetSite(SiteID);
DateTime startTime = DateTime.MinValue;
DateTime endTime = DateTime.MinValue;
switch (pickUpDate.DayOfWeek)
{
case DayOfWeek.Sunday:
startTime = site.OOSunStart;
endTime = site.OOSunEnd;
break;
case DayOfWeek.Monday:
startTime = site.OOMonStart;
endTime = site.OOMonEnd;
break;
case DayOfWeek.Tuesday:
startTime = site.OOTueStart;
endTime = site.OOTueEnd;
break;
case DayOfWeek.Wednesday:
startTime = site.OOWedStart;
endTime = site.OOWedEnd;
break;
case DayOfWeek.Thursday:
startTime = site.OOThuStart;
endTime = site.OOThuEnd;
break;
case DayOfWeek.Friday:
startTime = site.OOFriStart;
endTime = site.OOFriEnd;
break;
case DayOfWeek.Saturday:
startTime = site.OOSatStart;
endTime = site.OOSatEnd;
break;
default:
break;
}
if(startTime > endTime)
{
endTime = endTime.AddDays(1);
}
List<string> results = new List<string>();
if (pickUpDate.Date == DateTime.Now.Date)
{
if (startTime.TimeOfDay < DateTime.Now.TimeOfDay)
{
startTime = DateTime.Now.AddMinutes(site.leadTime);
}
}
DateTime tempTime = startTime;
do
{
tempTime = tempTime.AddMinutes(15);
results.Add(tempTime.TimeOfDay.ToString());
}
while (tempTime <= endTime);
View().ViewData["availableTimes"] = results;
return View();
}
Ce code fonctionne juste la façon dont j'ai besoin de. Je dois ajouter les résultats de
View().ViewData["availableTimes"] = results;
à ma liste de sélection. Voici ma liste de sélection:
$('#timepicker').append($('<option>',
{
value: View().ViewData["availableTimes"] = results,
text : results
}));
});
Ce code ne fonctionne cependant pas. Comment puis-je ajouter les résultats de ce contrôleur? Je sais que la méthode du contrôleur fonctionne parce que je l'ai traversé et vu le résultat générer les options dont j'ai besoin. Toute aide est géniale. Merci!
Donc, je n'ai pas de modèle. Je n'ai que le contrôleur et mon point de vue. Comment puis-je y arriver sans un modèle? @dkkd –
Vous devez créer un modèle avec deux champs: public IEnumerable AvailableDates {get; ensemble; } et public Date SelectedDate {get; ensemble; } et dans le contrôleur remplissez l'objet modèle avec toutes les données de date disponibles et choisissez la date sélectionnée et quand vous appelez l'action du contrôleur et affichez les rendus, il chargera automatiquement toutes les données dans la combo et la valeur sélectionnée sera sélectionnée dans la combo. –
dkkd
Je n'ai pas beaucoup d'expérience avec les contrôleurs et les modèles. Pourriez-vous écrire un exemple de ce que vous voulez dire? En outre, toutes les données de date disponibles sont dynamiques. –