如何使用javascript调用codebehind函数?

时间:2015-10-17 06:56:35

标签: javascript c# asp.net

我正试图在函数后面调用这段代码:

protected void Insert(object sender, EventArgs e)
        {
            blah blah blah code
            this.BindGrid();
        }

在.aspx文件中,我有我的java函数,如下所示:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:Button ID="Button2" runat="server" Text="Call Button Click" Style="display:none" OnClick="Insert" />
<asp:Button ID="btnAdd" runat="server" Text="Add" OnClientClick="return Validate();" Width="100" />

        <script type="text/javascript">
                function Validate()
                {
                    var id = document.getElementById("txtStudentID").value;
                    Number(id);
                    var fn = document.getElementById("txtFirstName").value;
                    String(fn);
                    var ln = document.getElementById("txtLastName").value;
                    String(ln);
                    var cls = document.getElementById("txtClass").value;
                    String(cls);
                    var rn = document.getElementById("txtRollNumber").value;
                    Number(rn);
                    My code blah blah blah
                    document.getElementById("Button2").click();
                    PageMethods.Insert(onSuccessMethod, onFailMethod);
                };
          </script>

当我按下按钮添加(可见的按钮)时,我需要插入工作。 我不确定我的逻辑是否正确或是否有更好的方法。 如果有人知道我可以通过我的javascript调用插入功能,我将不胜感激。我尝试了谷歌的一些东西,但似乎都没有。 提前谢谢

4 个答案:

答案 0 :(得分:2)

你可以试试这个:

has_many

答案 1 :(得分:1)

我们可以使用[WebMethod]作为我们想要从JavaScript调用的方法。根据我的知识,这应该是一种静态的方法。 我们可以使用

从JavaScript调用该方法
PageMethods.MethodNameOnCodeBehindClass()

因此,您的场景可以创建一个可以调用所需方法的静态方法。

答案 2 :(得分:1)

您也可以尝试:

ScriptManager.RegisterClientScriptBlock(this,Gettype(this),"","validate();",true);

答案 3 :(得分:-2)

好的事实证明是Onclick和OnClientClick的一个简单问题。 OnClientClick是首先执行的函数,一旦完成就会执行OnClick功能。在这一天结束时,我最终得到了: 代码背后:

        if(c >= 0 && c <= (1/6.f)){
        red = 255;
        green = 1530 * c;
        blue = 0;
    } else if( c > (1/6.f) && c <= (1/3.f) ){
        red = 255 - (1530 * (c - 1/6f));
        green = 255;
        blue = 0;
    } else if( c > (1/3.f) && c <= (1/2.f)){
        red = 0;
        green = 255;
        blue = 1530 * (c - 1/3f);
    } else if(c > (1/2f) && c <= (2/3f)) {
        red = 0;
        green = 255 - ((c - 0.5f) * 1530);
        blue = 255;
    } else if( c > (2/3f) && c <= (5/6f) ){
        red = (c - (2/3f)) * 1530;
        green = 0;
        blue = 255;
    } else if(c > (5/6f) && c <= 1 ){
        red = 255;
        green = 0;
        blue = 255 - ((c - (5/6f)) * 1530);
    }

这是aspx代码

public void Validate(object sender, EventArgs e)
{
      boring code blah blah blah
}

我使用onclientclick来执行基于javascript的验证。一旦完成,我执行服务器端dataupload。一旦完成,似乎非常基本。我希望将来能帮助别人