如何在ASP.Net C中的ServerSide Click事件之前调用JavaScript [英] How to Call JavaScript before ServerSide Click Event in ASP.Net C Sharp

查看:71
本文介绍了如何在ASP.Net C中的ServerSide Click事件之前调用JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请查看以下代码.

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 the OnClientClick 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆