我有一个jQuery函数来在asp.net登录页面中显示验证消息。 我把脚本放在一个名为login.js的单独文件中(我从html调用了js文件) 函数的名称是loginMessage();
我需要知道如何在按钮单击事件中从aspx.cs调用它。我试图直接在按钮点击事件中调用该函数,例如:
protected void btnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
...........
The login validation process goes here
...........
if (ds.Tables.Count == 0)
{
loginMessage();
}
}
但是当我尝试调试页面时,我收到以下错误消息:
类名称'loginMessage'在类或名称空间'School.Login'中不存在
请帮我解决这个问题。 此致,安达
答案 0 :(得分:2)
这应该可以解决问题:
btnLogin.Attributes.Add("onclick", "return loginMessage();");
此处的其他示例: http://www.devcurry.com/2009/01/execute-javascript-function-from-aspnet.html
答案 1 :(得分:1)
你不能在aspx页面的代码中调用JS函数。
而是使用aspx / ascx页面中OnClientClick
的{{1}}属性来触发JS函数。
类似......
btnLogin
编辑:根据OP对问题的修改更新答案。
要在页面加载时调用js方法,请尝试:
<asp:Button id="btnLogin" runat="server" OnClientClick="return loginMessage()" .../>
答案 2 :(得分:0)
使用关键字“asp.net button client”在Google上搜索后的第一个结果指向此网站http://msdn.microsoft.com/en-us/library/7ytf5t7k.aspx#Y570 这会对你有所帮助。
答案 3 :(得分:0)
您可以使用ScriptManager和ClientScriptManager。
一个例子:
protected void btnLogin_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
...........
The login validation process goes here
...........
if (ds.Tables.Count == 0)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ValdationMessage", "loginMessage();", true);
}
}