具有多个参数的 Webforms 回发
Webforms postback with multiple arguments
我想调用 __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()
returns [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>
我想调用 __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()
returns [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>