Skip to main content

GridSettingsBase.CallbackRouteValues Property

Defines the callback routing logic by specifying the names of a Controller and an Action which should handle callbacks.

Namespace: DevExpress.Web.Mvc

Assembly: DevExpress.Web.Mvc5.v23.2.dll

NuGet Package: DevExpress.Web.Mvc5

Declaration

public object CallbackRouteValues { get; set; }

Property Value

Type Description
Object

An object containing the Controller and Action names.

Remarks

Example

The following example illustrates how to use the CallbackRouteValues property.

Note

For a full example, see the Grid View - Sorting demo.

@Html.DevExpress().GridView(settings => {
    settings.Name = "gvSorting";
    settings.CallbackRouteValues = new { Controller = "GroupingSorting", Action = "SortingPartial" };
    settings.Width = Unit.Percentage(100);

    settings.Columns.Add("ContactName").SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
    settings.Columns.Add("CompanyName");
    settings.Columns.Add("City");
    settings.Columns.Add("Region");
    settings.Columns.Add("Country");

    DevExpress.Web.Demos.GridViewFeaturesHelper.SetupGlobalGridViewBehavior(settings);
}).Bind(Model).GetHtml()
public partial class GroupingSortingController: DemoController {
    public ActionResult Sorting() {
        return DemoView("Sorting", NorthwindDataProvider.GetCustomers());
    }
    public ActionResult SortingPartial() {
        return PartialView("SortingPartial", NorthwindDataProvider.GetCustomers());
    }
}

The CallbackRouteValues property allows you to pass only simple data (that do not require serialization) to the controller. If you need to send complex data, use one of the following approaches.

  1. Use the CallbackRouteValues collection to pass only the information that is required to recreate your complex model instance in the controller action (e.g., row keys or unique identifiers).
  2. Convert your complex model class into a simple data type. For instance, use the JSON encoding to pass the model to the controller as a string. Then, in the controller code, decode the passed value to get the model.
@Html.DevExpress().GridView(settings => {  
    settings.Name = "GridView";  
    ...  
    settings.CallbackRouteValues = new  {  
        Controller = "Home",  
        Action = "IndexPartial",  
        myComplexData = Json.Encode(Model.myListData)  
    };  
}).GetHtml()  
public ActionResult IndexPartial(string SelectedIds) {  
    List<int> myData = System.Web.Helpers.Json.Decode<List<int>>(myComplexData);  
    ...  
}  

The following code snippets (auto-collected from DevExpress Examples) contain references to the CallbackRouteValues property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also