-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 に答える