将JavaScript函数添加到asp控件

时间:2011-08-15 11:57:14

标签: c# asp.net

我有一个asp按钮,除了回发之外还执行另一项任务

我通过向按钮添加javascript代码来完成此操作,如下所示

       if( !IsPostBack )
            btn1.Attributes.Add("onclick", "f();");

我不确定2件事

第一个:

在cs代码中我应该添加函数f(),目前我正在页面加载中执行它 忽略回发,因为那时函数已经被添加(我可能错了)

第二个:

是否有任何只有在页面被验证后才能执行该功能? (回发后)

提前谢谢 叶兰。

3 个答案:

答案 0 :(得分:2)

我会使用OnClientClick而不是通过属性添加click事件。至于你的JavaScript,我会把它添加到ASPX部分。根据函数的作用,您可以避免所有代码背后的代码,并执行以下操作:

<asp:Button ID="Button1" runat="server" Text="Hi" OnClientClick="javascript:return f();" OnClick="Button1_Click" />

从f()函数开始,启动验证,如果验证通过则返回true,否则返回false。如果OnClientClick返回true,页面将回发,如果返回false,页面将不回发。

答案 1 :(得分:1)

第1个问题

每次都需要添加它。

btn1.Attributes.Add("onclick", "f();");

第二个问题

您可以通过查看Page.IsValid属性

来检查网页的有效性

答案 2 :(得分:0)

Unobtrusive JavaScript

如果您对javascript很认真,那么您不想编写内联JavaScript。 您将需要在脚本标记内或外部文件中的javascript代码中创建事件处理程序。

如果您使用的是.NET 4服务器控件ID:s会很好,否则我会使用jquery's contains selector。搜索给定的服务器控件ID。

相关问题