如何使用javascript调用codebehind函数?
我试图调用此代码隐藏函数:如何使用javascript调用codebehind函数?,javascript,c#,asp.net,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
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>
函数验证()
{
var id=document.getElementById(“txtStudentID”).value;
编号(id);
var fn=document.getElementById(“txtFirstName”).value;
字符串(fn);
var ln=document.getElementById(“txtLastName”).value;
字符串(ln);
var cls=document.getElementById(“txtClass”).value;
字符串(cls);
var rn=document.getElementById(“txtRollNumber”).value;
数字(rn);
我的密码什么的
document.getElementById(“按钮2”)。单击();
插入(onSuccessMethod、onFailMethod);
};
我需要插入工作时,我按下按钮添加(一个是可见的)。
我不确定我的逻辑是否正确,或者是否有更好的方法。
如果有人知道我可以从javascript调用Insert函数,我将不胜感激。我试过谷歌的一些东西,但似乎都不管用。
提前感谢您可以尝试以下方法:
Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction","Validate()",true);
我们可以将[WebMethod]用于我们希望从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的验证。完成后,我将执行服务器端数据上传。完成后看起来非常基本。我希望它将来能帮助其他人谢谢你的快速回复,你能告诉我我是在我的焦点中还是在代码的开头(aspx.cs)添加这个吗?它不起作用,页面只是重新加载,甚至没有进入插入功能:(将此添加到按钮的事件方法中,它应该可以工作。不幸的是,它不能工作。或者我只是做错了。检查以下URL,它会很有帮助。我想我必须通过ajax,因为我无法将受保护的方法更改为公共静态。这是我的第一个想法,但我似乎甚至无法调用从Javascript调用公共静态方法。更不用说从公共静态调用受保护的。这就是我们可以做的,伙计。如果你同意从Javascript调用公共静态方法。因为最近我做了相同的实现。顺便说一句,我没有收到你的评论:p,你到底想说什么。。