Use firebug !important
With this Firefox plugin you'll be able to see (in it's Console) all the ajax request, where they were sent (url), what parameters have been sent for each request, and what was the response, this way if some ajax stuff on your page doesn't work you'll see imediately the reason in the Firebug's Console. So basically just install it, hit F12 and enable it's Console, after try entering a demo page like http://demo.aspnetawesome.com/AjaxDropdownDemo and you'll see in the Console all the ajax requests with all the data that has been sent and received.There are other tools that you can use like fiddler and chrome's developer tools (Ctrl+Shift+I), IE also has dev tools(F12)
General features
Getting data
Most of the Awesome components get their data via ajax, and they need a controller or an url to be specified. If nothing is specified they will look for a controller with the same name as them + their type, example:
@Html.Awe().AjaxDropdownFor(o => o.Meal) // gets data from MealAjaxDropdownController
@Html.Awe().LookupFor(o => o.Country) // gets data from CountryLookupController
@Html.Awe().MultiLookupFor(o => o.BestMeals)
.Controller<MealsMultiLookupController>() // gets data from MealsMultiLookupController
Binding to Parents
Some components can be bound to parents, this way when they search/get data the values of the parents are also sent to the server, and for AjaxDropdown, AjaxRadioList and AjaxCheckboxList changing the value of a parent will trigger the child to refill it's data (cascade). This is done using the .Parent(name, alias) extension. By default the value of the parent will be sent using the "parent" name of the parameter, but different names can be specified using the alias example:
@Html.TextBoxFor(o => o.Name)
@Html.Awe().AjaxCheckboxListFor(o => o.Categories)
@Html.Awe().AjaxDropdownFor(o => o.Meal)
.Parent(o => o.Categories) // parent Categories with default alias "parent"
.Parent(o => o.Name, "chef") // parent Name with alias "chef"
Predefined parameters
Additonal parameters with predefined values can be sent to the server using the .Parameter(name, value) extension, example:
@Html.Awe().AjaxDropdownFor(o => o.Meal)
.Parameter("category", 3)
.Parameter("chef", 7)
Settings
you can change the default values for the helpers by calling something like this:
Settings.Lookup.HighlightChange = true;
Settings.Lookup.Title = "please select";
Settings.MultiLookup.Fullscreen = true;
(usually you would call this in the Bootstrapper / Application_Start)Localizing default texts:
you can do this by assigning a function to Settings.GetText, this function will receive 2 parameters (name of the helper and name of the property) and must return a string, example:
Settings.GetText = GetTranslate;
...
private static string GetTranslate(string type, string key)
{
if (type == "Confirm" && key == "Message") return Mui.confirm_delete;
switch (key)
{
case "CancelText": return Mui.Cancel;
case "YesText": return Mui.Yes;
case "NoText": return Mui.No;
case "MoreText": return Mui.more;
case "SearchText": return Mui.Search;
}
return null;
}
you can see this approach used in the prodinner demo