我是MonoRail的新手,想弄清楚如何使用它,以便我可以在下拉列表中选择父类别,然后显示第二个下拉列表与父母的子女的类别。MonoRail - 从一个下拉列表中选择父类别,显示子类别下拉菜单
如果我使用的是我习惯的ASP.NET MVC,我会有一个javascript函数,它将被称为onchange的第一个下拉列表,并且会对控制器方法进行ajax调用(传入选中父类别id),它将获取该父类别的所有子类别并以JSON格式返回它们。然后在回调JavaScript函数中,我将评估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 2010-05-28 04:10:13
这是我之前使用单轨铁路的ajax做的一个快速文章。它使用原型,但同样的概念也适用于jQuery: http://weblogs.asp.net/psteele/archive/2008/09/15/easy-ajax-with-monorail.aspx – PatrickSteele 2010-05-28 12:40:52
此方法wasn'对我的情况很有帮助,因为它基本上可以返回一个完整的视图,这让我想起了ASP.NET的更新面板。我正在寻找一种方法来返回JSON并处理该问题,而不是整个视图。不过,我给你的答案,因为你让我在正确的轨道上,是唯一的回应,感谢您的帮助! – Justin 2010-05-28 14:39:44