[英]How to call a codebehind function using javascript?
我试图在函数后面调用此代码:
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调用插入函数,将不胜感激。 我已经尝试了谷歌的一些东西,但似乎都没有用。 提前致谢
您可以尝试以下方法:
Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction","Validate()",true);
我们可以使用[WebMethod]作为要从JavaScript调用的方法。 据我所知,这应该是静态方法。 我们可以使用以下方法从JavaScript调用该方法
PageMethods.MethodNameOnCodeBehindClass()
因此,您的方案有可能创建一个可以调用所需方法的静态方法。
您也可以尝试:
ScriptManager.RegisterClientScriptBlock(this,Gettype(this),"","validate();",true);
确定原来这是Onclick和OnClientClick的一个简单问题。 OnClientClick是首先执行的功能,完成后转到OnClick功能。 最终,这就是我的最终结果:代码背后:
public void Validate(object sender, EventArgs e)
{
boring code blah blah blah
}
这是aspx代码
<script id="validity" type="text/javascript">
function Validate() {
Blah blah blah boring code
}
</script>
<asp:Button ID="btnAdd" runat="server" OnClientClick="return Validate();" OnClick="Validate"
Text="Add" Width="100" />
我使用onclientclick执行基于javascript的验证。 完成后,我将执行服务器端数据上传。 完成后似乎很基础。 希望以后对别人有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.