2

I have one form which user has to populate with some values. After clicking button Submit I need to call javascript function and check return value, if return value is true I need to post back form. How to accomplish that with devexpress button?

When I put

saveSett.UseSubmitBehavior = true;

in button settings, and put breakpoint at first line in controller action I see that it does not go there.

Here is my view:

@model Models.Request

@using ( Html.BeginForm( "Save", "Request", FormMethod.Post ))
{
    @Html.DevExpress().PopupControl(
    settings =>
    {
        settings.Name = "newRequest";
        settings.CallbackRouteValues = new { Controller = "Request", Action = "GetRequestForm" };
        settings.EnableClientSideAPI = true;
        settings.Width = 450;
        settings.ShowHeader = true;
        settings.ShowShadow = true;
        settings.PopupAnimationType = AnimationType.Fade;
        settings.AllowDragging = true;
        settings.Modal = true;
        settings.SetContent( () =>
        {
            ViewContext.Writer.Write( "<div id = 'products'>" );
            foreach(var product in Model.Products)
            {
                Html.RenderPartial( "ProductPartial", product );
            }
            ViewContext.Writer.Write( "</div>" );

            //Total days field
            @Html.DevExpress().SpinEdit(
                            cSettings =>
                            {
                                cSettings.Name = "numberOfProducts";
                                cSettings.Properties.EnableClientSideAPI = true;
                                cSettings.Width = 125;
                                cSettings.Properties.MinValue = 0;
                                cSettings.Properties.MaxValue = 100;
                                cSettings.ControlStyle.BackColor = System.Drawing.Color.FromArgb( 82, 82, 82 );
                                cSettings.ControlStyle.ForeColor = System.Drawing.Color.White;
                            } ).Bind( Model.NumberOfProducts ).GetHtml();

            //POST BACK
            @Html.DevExpress().Button( saveSett =>
            {
                saveSett.Name = "Save";
                saveSett.Text = "Save";
                saveSett.Width = 40;
                saveSett.Height = 25;
                saveSett.ControlStyle.CssClass = "button";
                saveSett.Styles.EnableDefaultAppearance = false;
                saveSett.EnableClientSideAPI = true;
                saveSett.UseSubmitBehavior = true;
                //saveSett.ClientSideEvents.Click = "function(s, e) { if(CheckValidation(s, e)) {} }";
            } ).GetHtml();
        } );    
    } ).GetHtml()
}

And my controller actions:

public ActionResult GetRequestForm( )
{
    //...
}
[HttpPost]
public ActionResult Save( Request request )
{
    //...
}
bambi
  • 1,159
  • 2
  • 14
  • 31

0 Answers0