在代码隐藏中获取确认值

Getting confirm value in code behind

本文关键字:确认 获取 代码 隐藏      更新时间:2023-09-26

>我在组合框的索引更改上有一个弹出窗口,我需要在后面的代码中获取确认框的结果:

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

请注意,我正在使用 asp.net 和 vb.net

这里有一个链接,展示了如何做到这一点: 从 JavaScript 调用 VB 方法

它基本上说有两种方法,Ajax或回发。 下面是回发方法:

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