我是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