如何从vb代码中立即调用javascript函数
这是我的sciprt,它显示一个带有“确定”和“取消”按钮的消息框如何从vb代码中立即调用javascript函数,javascript,asp.net,vb.net,visual-studio-2008,Javascript,Asp.net,Vb.net,Visual Studio 2008,这是我的sciprt,它显示一个带有“确定”和“取消”按钮的消息框 <script type="text/javascript"> function Confirm() { var confirm_value = document.createElement('INPUT'); confirm_value.type = 'hidden'; confirm_value.name = 'confirm_value'; if (confirm('Co
<script type="text/javascript"> function Confirm() {
var confirm_value = document.createElement('INPUT');
confirm_value.type = 'hidden';
confirm_value.name = 'confirm_value';
if (confirm('Continue?')) {
confirm_value.value = 'Yes';
} else {
confirm_value.value = 'No';}
document.forms[0].appendChild(confirm_value);} </script>
对我来说,这个请求通常代表着对正在发生的事情的误解。在运行VB.Net代码时,javascript不存在。所有服务器事件处理程序都会导致完全回发。这意味着整个页面是从头开始重新创建的。这里的VB.Net代码是生成全新HTML文档的过程的一部分。这将涉及整个页面生命周期,包括服务器的页面加载代码。引发事件时,浏览器中已呈现的任何html都会被销毁,以便为您对全新HTTP请求的响应让路
如果您希望它以不同的方式响应,那么您需要在构建整个HTTP响应时牢记这一点。这意味着要么从一开始就改变事件的引发方式(调用WebMethod或其他ajax请求),要么将响应设置为在javascript页面加载事件中调用确认方法。这似乎是Web表单和VB.Net世界中常见的基本误解。
If reader.read = false then
If Not Page.ClientScript.IsStartupScriptRegistered(Me.GetType(), "alertscript") Then
Page.ClientScript.RegisterStartupScript(Me.GetType(), "alertscript", "Confirm();", True)
End if
Dim confirmValue As String = Request.Form("confirm_value")
If confirmValue = "Yes" Then
'Do stuff here
End if
End if