Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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
如何从JavaScript调用C#代码_C#_Javascript_Asp.net - Fatal编程技术网

如何从JavaScript调用C#代码

如何从JavaScript调用C#代码,c#,javascript,asp.net,C#,Javascript,Asp.net,我只想在JavaScript中的验证为true时,从JavaScript调用代码隐藏中的C代码。我正面临一些问题,有人能帮我吗。谢谢 这是我的JavaScript <script type="text/javascript"> function Validate_Checkbox() { var chks = $("#<%= cblCustomerList.ClientID %> input:checkbox");

我只想在JavaScript中的验证为true时,从JavaScript调用代码隐藏中的C代码。我正面临一些问题,有人能帮我吗。谢谢 这是我的JavaScript

  <script type="text/javascript">
        function Validate_Checkbox() {
            var chks = $("#<%= cblCustomerList.ClientID %> input:checkbox");

            var hasChecked = false;
            for (var i = 0; i < chks.length; i++) {
                if (chks[i].checked) {
                    hasChecked = true;
                 //call C# code
                    break;
                }
            }
            if (hasChecked == false) {
                alert("Please select at least one checkbox..!");

                return false;
            }

            return true;
        }     
    </script>
<asp:Button ID="Button1" runat="server" CausesValidation="True" 
                            CommandName="Insert" Text="Insert" OnClientClick="javascript:Validate_Checkbox();return true;"/>
下面是调用JavaScript的按钮

  <script type="text/javascript">
        function Validate_Checkbox() {
            var chks = $("#<%= cblCustomerList.ClientID %> input:checkbox");

            var hasChecked = false;
            for (var i = 0; i < chks.length; i++) {
                if (chks[i].checked) {
                    hasChecked = true;
                 //call C# code
                    break;
                }
            }
            if (hasChecked == false) {
                alert("Please select at least one checkbox..!");

                return false;
            }

            return true;
        }     
    </script>
<asp:Button ID="Button1" runat="server" CausesValidation="True" 
                            CommandName="Insert" Text="Insert" OnClientClick="javascript:Validate_Checkbox();return true;"/>

这里是您问题的答案


但是,您可能会想,使用JQuery将简化编写javascript代码的方式。

这里是关于这个主题的一个非常好的解释

1:

2:

我希望这对你有帮助;-)


或者如果您有机会使用ASP的库[Telerik]。您可以使用控制器轻松调用C代码[RadAjaxManager]

我们可以使用数据类型的Ajax调用

1) json,在本例中,您将在代码后面创建web方法,并将字符串作为返回结果返回给JavaScript


2) HTML,在这种情况下,您将调用新的HTML页面并返回HTML,我认为您应该使用服务器端事件(单击)和客户端事件的组合。在服务器端:

<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
此外,在javascript代码中,如果不满足某些条件,则应使用
event.preventDefault()
。请查看详细信息。客户端的示例代码可能看起来像(未测试!):


你需要使用Eval。例如:

<script type="text/javascript">
    function Validate_Checkbox() {
        ...
        if (chks[i].checked) {
            hasChecked = true;
            eval("<%= Page.ClientScript.GetPostBackEventReference(lbSubmit, String.Empty) %>");
        }
        ...
    }

<asp:Button ID="Button1" CausesValidation="True"  CommandName="Insert" Text="Insert" OnClientClick="javascript:Validate_Checkbox();return true;" runat="server"/>

<asp:LinkButton ID="lbSubmit" style="display:none" OnClick="slbCheckVin_Click" runat="server"/>

函数验证_复选框(){
...
如果(chks[i]。选中){
hasChecked=true;
eval(“”);
}
...
}

您可以添加隐藏按钮并绑定要在
C#
code中执行的某些操作。从
javascript
进行验证后,单击此按钮。你们可以在我看过所有这些建议后找到答案,但似乎并没有找到更简单的方法,所以我可以遵循它。我的经验是javascript,c#是有限的。我将尝试挖掘更多信息。我想确保按钮1\u单击仅在验证为真时触发。我不知道该把它放在我的javascript中的什么地方。我的编码经验是非常有限的,所以请帮助,如果你可以尝试这一点,但它不适合我,你可以提供一个工作的例子吗?谢谢
<script type="text/javascript">
    function Validate_Checkbox() {
        ...
        if (chks[i].checked) {
            hasChecked = true;
            eval("<%= Page.ClientScript.GetPostBackEventReference(lbSubmit, String.Empty) %>");
        }
        ...
    }

<asp:Button ID="Button1" CausesValidation="True"  CommandName="Insert" Text="Insert" OnClientClick="javascript:Validate_Checkbox();return true;" runat="server"/>

<asp:LinkButton ID="lbSubmit" style="display:none" OnClick="slbCheckVin_Click" runat="server"/>