将值从javascript传递给vb sub

时间:2012-02-06 18:42:01

标签: javascript asp.net vb.net

我在aspx文件中有一个javascript函数

现在我在asp.net中使用vb作为后面的

现在我使用javascript这样的回发

<script type="text/javascript"> 
function s()
{   
    return this.Page.GetPostBackEventReference(this,**"1"**);    
}
</script>

现在在我的vb代码中

我想像这样检查

Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
BindList()   
If (IsPostBack) 
Then
Dim eventArg As String = Request(**"_EVENTARGUMENT**")   
MsgBox(eventArg)
        If (eventArg <> "") Then
        Label5.Text = "hiiiiiii"
        End If
End If
End Sub

现在我的vb代码中没有 “1”

我想得到它,因为我希望检查当我通过此javascript发回来获取page_load事件

该怎么办?

2 个答案:

答案 0 :(得分:1)

可能有另一种清洁方式,但我将值传递给代码隐藏的方式是使用隐藏的输入服务器控件。然后你可以让javascript改变隐藏控件的值,并从后面的代码中引用该值。此方法还允许在回发期间将不定类型的不同类型的参数传递给代码隐藏,只需添加和修改更多隐藏的服务器控件即可。

<asp:HiddenField ID="hidden1" runat="server">
function s(){
    $('<%=hidden1.ClientID%>').val(EVENT_ARG);
    //Fire postback;
}

,代码隐藏只会引用hidden1.Value。

答案 1 :(得分:1)

我就是这样做的: 使用Javascript:

<script>
    __doPostBack("eventTargetHere", eventArgumentsHere);
</script>

服务器端:

If Request("__EVENTTARGET") IsNot Nothing And Request("__EVENTTARGET").ToString() = "eventTargetHere" Then
    Dim MyArgs As String = Request("__EVENTARGUMENT").ToString()
End If
祝你好运!!