Я новичок в MonoRail и пытаюсь выяснить, как это сделать, чтобы я мог выбрать родительскую категорию в выпадающем меню, а затем показать ее в раскрывающемся меню с категориями, являющимися дочерними элементами родителя.MonoRail - выберите родительскую категорию из одного раскрывающегося списка, покажите раскрывающуюся категорию дочерней категории
Если бы я использовал то, к чему я привык, ASP.NET MVC, у меня будет функция javascript, которая будет вызываться в первом списке выпадающего списка и будет делать ajax-вызов метода контроллера (передача в выбранном идентификатор родительской категории), который будет захватывать все дочерние категории этой родительской категории и возвращать их в JSON. Затем в функции javascript callback я бы оценил JSON и заполнил второй раскрывающийся список дочерними категориями.
Как бы это сделать, используя MonoRail/jQuery? Вот код, который я до сих пор:
$FormHelper.Select("business.category.id", $categories, "%{value='id', text='name', firstoption='Select a Category'}")
$FormHelper.Select("business.category.id", $childCategories, "%{value='id', text='name', firstoption='Select a Sub-Category'}")
Тогда в BusinessController.cs:
private void AddDataToModels()
{
PropertyBag["categories"] = CategoryRepository.GetParentCategories();
PropertyBag["childCategories"] = CategoryRepository.GetChildCategories(1);
}
Спасибо за любой вход на том, как подойти к этому!
Джастин
Спасибо, я действительно видел эту статью после публикации, но он использует файл .ashx для выполнения вызова на стороне сервера из ajax. Как я могу назвать действие контроллера из ajax? Это дает мне «MonoRail не смог разрешить экземпляр механизма просмотра для шаблона ...» – Justin
Вот быстрый пост, который я сделал некоторое время назад, используя ajax из Monorail. Он использует прототип, но такая же концепция будет работать и для jQuery: http://weblogs.asp.net/psteele/archive/2008/09/15/easy-ajax-with-monorail.aspx – PatrickSteele
Этот метод wasn ' t хорошо для моей ситуации, так как она в основном возвращает весь вид, напоминает мне слишком много панелей обновлений из ASP.NET. Я искал способ вернуть JSON обратно и разобраться с этим, а не с целым взглядом. Тем не менее, я даю вам ответ, так как вы получили меня на правильном пути и были единственными, кто ответил, спасибо за вашу помощь! – Justin