Skip to main content

MVCxGridViewEditingSettings.UpdateRowRouteValues Property

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

Namespace: DevExpress.Web.Mvc

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

NuGet Package: DevExpress.Web.Mvc5

Declaration

public object UpdateRowRouteValues { get; set; }

Property Value

Type Description
Object

An object containing the Controller and Action names.

Property Paths

You can access this nested property as listed below:

Object Type Path to UpdateRowRouteValues
GridViewSettings
.SettingsEditing .UpdateRowRouteValues
MVCxGridView
.SettingsEditing .UpdateRowRouteValues
MVCxGridViewProperties
.SettingsEditing .UpdateRowRouteValues

Remarks

If row editing is allowed for GridView, you should provide an associated controller action that will apply update operations to the Model and return the grid’s partial view. Use the UpdateRowRouteValues property to reference this controller action by its name and the name of its controller.

Note that in an action that handles update operations, you can obtain the edited object using our specific DevExpressEditorsBinder model binder.

View (InlineEditingPartial):

<% 
    var grid = Html.DevExpress().GridView(
        settings =>
        {
            settings.Name = "gvEditing";
            settings.KeyFieldName = "ProductID";
            settings.CallbackRouteValues = new { Controller = "GridView", Action = "InlineEditingPartial" };
            ...
            settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "GridView", Action = "InlineEditingUpdatePartial" };
            ...
    grid.Bind(Model).Render();
%>

Controller (‘GridViewController’):

public partial class GridViewController : Controller {
        ...
        public ActionResult InlineEditingPartial() {
            return PartialView("InlineEditingPartial", NorthwindDataProvider.GetEditableProducts());
        }
        ...
        [HttpPost]
        public ActionResult InlineEditingUpdatePartial([ModelBinder(typeof(DevExpressEditorsBinder))] EditableProduct product) {
            if(ModelState.IsValid) {
                try {
                    NorthwindDataProvider.UpdateProduct(product);
                }
                catch(Exception e) {
                    ViewData["EditError"] = e.Message;
                }
            }
            else
                ViewData["EditError"] = "Please, correct all errors.";

            return PartialView("InlineEditingPartial", NorthwindDataProvider.GetEditableProducts());
        }
        ...
See Also