Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击一个按钮首先调用javascript,执行验证,然后调用控制器方法_C#_Javascript_Asp.net Mvc 4 - Fatal编程技术网

C# 单击一个按钮首先调用javascript,执行验证,然后调用控制器方法

C# 单击一个按钮首先调用javascript,执行验证,然后调用控制器方法,c#,javascript,asp.net-mvc-4,C#,Javascript,Asp.net Mvc 4,我在表单中有一个按钮,设置为调用控制器方法。它将ViewModel作为参数发送给它。 现在,我想确保只有在UI本身满足某些条件(如所有必填字段都已填充等)时,才会调用控制器 我希望避免从javascript调用控制器,因为我不想将整个ViewModel展平。在javascript函数中,执行验证逻辑,如果失败,则返回false以停止单击事件向服务器端控制器的传播,如下所示: function DoButtonClick() { // Perform validation here

我在表单中有一个按钮,设置为调用控制器方法。它将ViewModel作为参数发送给它。 现在,我想确保只有在UI本身满足某些条件(如所有必填字段都已填充等)时,才会调用控制器


我希望避免从javascript调用控制器,因为我不想将整个ViewModel展平。

在javascript函数中,执行验证逻辑,如果失败,则返回false以停止单击事件向服务器端控制器的传播,如下所示:

function DoButtonClick() {
    // Perform validation here

    if(!valid)
    {
        // Validation failed, so we want to stop and do not call the server
        return false;
    }

    // Otherwise, validation passed and the controller method will be called
}

如果验证失败,则返回false。