我希望调用__doPostBack(eventTarget, eventArgument)
函数。然后,在代码文件中,我将像往常一样读取参数:Dim param As String = Request("__EVENTARGUMENT")
。但是,这不适用于多个参数。
有人here建议您使用json或csv列表。通常,我只会选择分隔参数的定界符。但是,就我而言,参数现在可以包含任何字符,因此我不能仅决定任何定界符,因此我认为我将使用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]
。
答案 0 :(得分:1)
单击按钮时,页面将发送以下HTML表单字段:
__EVENTTARGET: btn_postbackButton
__EVENTARGUMENT: [object Object]
要在服务器端将json作为字符串获取,请使用以下按钮标记:
<button type="button" id="btn_postbackButton" onclick="__doPostBack('btn_postbackButton', '{one: \'someText\', two: \'moreText\'}');">TestButton</button>