如何在ASP.Net C中的ServerSide Click事件之前调用JavaScript [英] How to Call JavaScript before ServerSide Click Event in ASP.Net C Sharp
问题描述
请查看以下代码.
Default.Aspx
Please Take a look to following code.
Default.Aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function call() {
alert("Call Client");
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="btnclick" name="btnclick" type="button" runat="server" onserverclick="btnclick_ServerClick" value="Input Button"/><br />
<asp:Button ID="btnClickAsp" runat="server" Text="ASP Button" OnClick="btnclick_ServerClick"/>
</div>
</form>
</body>
</html>
Default.Aspx.cs
Default.Aspx.cs
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
btnclick.Attributes.Add("onserverclick", "return call()");
btnClickAsp.Attributes.Add("onclick", "return call()");
}
protected void btnclick_ServerClick(object sender, EventArgs e)
{
Response.Redirect("default2.aspx",false);
}
}
现在我的问题是,单击"Asp Button"时,将显示一个JavaScript警报框,然后单击"Ok",将调用服务器端方法"btnclick_ServerClick"并将其重定向到"Default2.aspx"页面.
但是
对于``< input/>按钮''.它甚至不调用JavaScript函数,也不调用服务器端.但是我都需要被召集.请建议我正确的代码.我在某处出错吗?
Now My problem is that on Click of ''Asp Button'' an Alert Box of JavaScript is shown and on click ''Ok'' the server side method ''btnclick_ServerClick'' is called and redirect to ''Default2.aspx'' Page.
BUT
This does not happen same thing for ''<input /> Button''. It don''t even call JavaScript function nor get call to server side. But I need both to be called. please suggest me right code. Am I going wrong somewhere?
推荐答案
将事件处理程序设置为按钮上的OnClientClick
事件:
Hi,
Set an event handler to theOnClientClick
event on the button:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function call() {
alert("Call Client");
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="btnclick" name="btnclick" type="button" runat="server" onserverclick="btnclick_ServerClick" OnClientClick="return call()" value="Input Button"/><br />
<asp:Button ID="btnClickAsp" runat="server" Text="ASP Button" OnClick="btnclick_ServerClick" OnClientClick="return call()"/>
</div>
</form>
</body>
</html>
如果这样做,则无需在Page_Load
函数中设置属性.
希望对您有所帮助.
If you do that, you don''t need to set the attributes in the Page_Load
function.
Hope this helps.
onclick ="if(inputcall()){__doPostBack(''btnclick'',``'');}"
此行我认为您应该检查inputcall是否返回true或false,然后执行代码.
对于exp:
OnClientClick ="if(!FireConfirm())返回false;"
否则ELSE ..检查inputcall是否每次都返回true
onclick=" if (inputcall()) { __doPostBack(''btnclick'', ''''); }"
this line I think you should check if inputcall has returned true or false and then execute the code.
for exp:
OnClientClick="if(!FireConfirm()) return false;"
OR ELSE.. check in inputcall if it returns true everytime
在onClientClick事件和服务器端onclick事件上调用Javascript函数.
Call Javascript function on onClientClick event and server side onclick event.
这篇关于如何在ASP.Net C中的ServerSide Click事件之前调用JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!