我在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事件
该怎么办?
答案 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
祝你好运!!