从asp.net按钮获取响应对象Onclick事件

问题描述

我有一个ASP.NET Webform,其中包括服务器端按钮。我已经在上面注册一个Onclick按钮事件。

<asp:Button ID="UploadButton" CssClass="btn add btn-primary" runat="server" Text="Upload File" OnClick="UploadButton_Click" />

我想做的是

在服务器端,处理完所需的内容后,我已经填充了一个响应对象,我想将其返回给客户端(例如将其分配给javascript变量)。

如何获取客户端按钮单击事件返回的对象。

protected ResponseModel UploadButton_Click(object sender,EventArgs e)
{
  ResponseModel responseModel = new ResponseModel(); 
  //Processing File
  //filling Response Object
  return responseModel 
}

UploadButton_Click()方法的初始返回类型为空。

解决方法

我不确定您的响应对象有多复杂或简单,但是您是否尝试过使用<asp:HiddenField />?像这样:

<asp:HiddenField ID="hiddenField" runat="server" value="" />

然后在您的代码隐藏中:

protected void UploadButton_Click(object sender,EventArgs e)
{
  //Processing File
  //filling Response Object
  hiddenField.Value = responseObject.customProperty;
}

JavaScript应该能够通过以下方式找到它:

document.getElementById('<%=hiddenField.ClientID%>')