ASP.NET页面不包含Javascript方法的定义
问题描述:
我有一个javascript处理程序方法,用于在页面卸载时给予确认。ASP.NET页面不包含Javascript方法的定义
<script language="javascript" type="text/javascript">
function handler(form)
{
confirm("are u sure?");
}
</script>
而且我在这里用它
<asp:Button ID="CreateTestButton" runat="server" Text="Submit" class="btn btn-default" OnUnload="handler(this)"
OnClick="CreateTestButton_Click"/>
感谢您的帮助!
答
OnUnload是服务器端事件。当控件从服务器上的内存中卸载时调用它。你不能用它来调用JavaScript函数。
我想你的误解来自服务器端和客户端之间的差异。在Web框架中,您的服务器端代码首先执行并呈现HTML(以及CSS和JavaScript)。这些都发送到客户端,然后在浏览器中执行。
如果您希望用户在离开页面之前进行确认,则需要在客户端添加适当事件的事件处理程序。像这样:
window.onbeforeunload = function() {
// Do something
}
查看this question了解更多详情。
请记住,您不应该通过在每个页面上询问他们来滥用此功能。通常只有在页面状态很重要时才会执行此操作,例如用户已经部分填写了表单。
答
嗯,可能是你可以做类似下面,
<form action="YourPageName.aspx" method="post">
<input name="TextBox1" type="text" value="" id="TextBox1" />
<input name="TextBox2" type="password" id="TextBox2" />
<input type="submit" name="Button1" value="Button" id="Button1" />
</form>