1

コンボ ボックスのインデックス変更時にポップアップが表示され、コード ビハインドで確認ボックスの結果を取得する必要があります。

Protected Sub service_list_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles service_list.SelectedIndexChanged  

Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "confirm", x.javaMsg("Do you
want to choose a date?"), True)

If user clicks ok 
GridView1.DataSource = x.selectCNT(service_list.SelectedValue)
GridView1.DataBind()
End Sub

これは私の機能です:

Public Function javaMsg(ByVal message As String) As String

    Dim sb As New System.Text.StringBuilder()
    sb.Append("window.onload=function(){")
    sb.Append("confirm('")
    sb.Append(message)
    sb.Append("')};")
    Return sb.ToString()

End Function

vb.netでasp.netを使用していることに注意してください

4

1 に答える 1

1

これを行う方法を示すリンクは次のとおりです: JavaScript から VB メソッドを呼び出す

基本的に、AjaxまたはPostbackの2つの方法があると言われています。ポストバック方法は次のとおりです。

aspx ファイル:

<script type="text/javascript">
 <!--
 function callServersideFunction()
 {
  var someValueToPass = 'Hello server';

 __doPostBack('CustomPostBack', someValueToPass);
 }
 // -->
 </script>

aspx.vb ファイル:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  ' Insure that the __doPostBack() JavaScript method is created...
  Me.ClientScript.GetPostBackEventReference(Me, String.Empty)


 If Me.IsPostBack Then
   Dim eventTarget As String
   Dim eventArgument As String

  If ( (Me.Request("__EVENTTARGET") Is Nothing)
    eventTarget = String.Empty
   Else
    eventTarget = Me.Request("__EVENTTARGET"))
   If ( (Me.Request("__EVENTARGUMENT") Is Nothing)
    eventArgument = String.Empty
   Else
    eventArgument = Me.Request("__EVENTARGUMENT"))

  If eventTarget = "CustomPostBack" Then
    Dim valuePassed As String = eventArgument
    ' Call your VB method here...
   End If
  End If
 End Sub
于 2013-10-01T14:37:24.040 に答える