我想称之为__doPostBack(eventTarget, eventArgument)
功能。在代码文件中,我会像往常一样读取参数:Dim param As String = Request("__EVENTARGUMENT")
。但是,这不适用于多个参数。
有人here建议你可以使用json或csv-list。通常我会选择一个分隔我的论点的分隔符。但是在我的情况下,现在参数可能包含任何字符,所以我不能只决定任何分隔符,所以我想我会使用JSON。
我试过这个。
标记:
<button type="button" id="btn_postbackButton" onclick="__doPostBack('btn_postbackButton', {one: 'someText', two: 'moreText'});">TestButton</button>
代码文件
If (IsPostBack) Then
Dim tgt As Object = Request("__EVENTTARGET")
Dim param As Object = Request("__EVENTARGUMENT") ' what datatype to use?
' [...]
' how to get arguments from json?
End If
现在我如何在代码中获取我的参数?我使用什么数据类型的参数?调用param.ToString()
只返回[object Object]
更重要的是,参数是在我的实际应用程序中的代码文件中生成的,并且可能有不同的一些,有些可能会丢失,使用简单的数组对我来说不起作用,因为你无法确定事后哪个数组位置对应于哪个论点。而且不管它还给我[object Object]
。
单击按钮后,页面将发送以下HTML表单字段:
__EVENTTARGET: btn_postbackButton
__EVENTARGUMENT: [object Object]
要将服务器端的json作为字符串,请使用以下按钮标记:
<button type="button" id="btn_postbackButton" onclick="__doPostBack('btn_postbackButton', '{one: \'someText\', two: \'moreText\'}');">TestButton</button>