-1
Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        Dim ResourceObject As Object


        Dim js As [String] = (vbCr & vbLf & " if(confirm('Esta Seguro de eliminar de la lista')==true)" & vbCr & vbLf & " document.getElementById('" & txtRespuesta.ClientID & "').value='true';" & vbCr & vbLf & " else" & vbCr & vbLf & "  document.getElementById('") + txtRespuesta.ClientID & "').value='false';" & vbCr & vbLf & " "
        ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "Key", js, True)

  If txtRespuesta.Text = False Then
         -Action 1
  Else
             -Action 2
  End If

   End Sub



<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>

<tr >
        <td  align="center" colspan="2">
          <asp:TextBox ID="txtRespuesta" runat="server" Width="174px" Height="21px"  
                MaxLength="20" style="font-weight: 700"  Font-Names="Verdana" TabIndex="2"></asp:TextBox>   
        </td>
    </tr> 
 <asp:Button ID="btnUpdate" runat="server"   Height="28px" 
                style="font-weight: 700" Text="変更" Width="68px" TabIndex="3" />
                  <asp:Button ID="btnDelete" runat="server" 
  </script>
        </ContentTemplate>
    </asp:UpdatePanel>

从后面的代码调用js不起作用

4

1 回答 1

0

不,您不能直接从后面的代码调用 Javascript 代码。当前在浏览器中显示的页面与后面的代码之间没有直接联系。

后面的代码创建的页面还不存在,待后面的代码完成后,将HTML代码发送给浏览器,浏览器解析,显示为新页面后,它就会存在。

您添加到页面的脚本将在页面发送到浏览器后运行,但您希望它立即运行,但这不会发生。

此外,您希望 Javascript 代码更改文本框的值,并且该值立即在服务器控件中可见。为此,必须在当前请求发送到浏览器之前及时将值发送回,以便在创建控件时将值读入控件。

您应该在页面上已经有您的确认代码,以便您可以在页面回传到服务器之前在浏览器中运行它。一旦发送回发,在请求完成并在浏览器中加载新页面之前,在浏览器中执行任何操作都为时已晚。

于 2009-09-29T09:05:11.160 回答