【问题标题】:TextBox's text not changing in from upload_complete event handlerTextBox 的文本未从 upload_complete 事件处理程序中更改
【发布时间】:2013-03-05 17:25:42
【问题描述】:

我在 AsyncFileUpload 的上传完成事件处理程序中有以下代码:

Protected Sub AsyncFileUpload1_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete

    Dim oapp As Excel.Application
    Dim oWBa As Excel.Workbook
    Dim oWS As Excel.Worksheet
    Dim oRng As Excel.Range
    oapp = New Excel.Application
    AsyncFileUpload1.PostedFile.SaveAs(Server.MapPath("tempfile2.xlsx"))
    oWBa = oapp.Workbooks.Open(Server.MapPath("tempfile2.xlsx"))
    oWS = DirectCast(oWBa.Worksheets(2), 
    Excel.Worksheet)
    'Here tns is a textbox contained in a panel
    tns.Text = Integer.Parse(oWS.Range("W44").Value) + Integer.Parse(oWS.Range("W55").Value)
    oWBa.Close()

    File.Delete(Server.MapPath("tempfile2.xlsx"))
End Sub

tns 的 autopostback 属性是开启的,为什么上传文件时它不改变它的文本?此外,读取 excel 文件的逻辑也没有错误问题,因为我已经使用 VS 2010 和 Uptil 行 tns.text ... 对其进行了调试,我在手表中得到了正确的值。那么我该如何解决呢?

【问题讨论】:

  • Integer.Parse(oWS.Range("W44").Value) + Integer.Parse(oWS.Range("W55").Value) 总是返回一个值?
  • @WaqarJanjua 我并不担心“总是”。就我而言,它返回了正确的值。我在 VS 调试器手表中找到了它。
  • 然后您页面上的其他地方已将其设置为 null 或空。在您的页面上搜索 tns.Text 可能您已将其设置为 tns.Text = "" 或 null
  • @WaqarJanjua 没人没问题!
  • 在 ViewState 中保存您的值,然后在 Page_Load 事件中设置 tns.Text = ViewState。我认为您使用 asynfileupload 可能会失去价值。

标签: asp.net vb.net ajaxcontroltoolkit asyncfileupload


【解决方案1】:

AsyncFileUpload1_UploadedCompletetns.Text 属性的设置替换为以下代码:

var resultString = Integer.Parse(oWS.Range("W44").Value) + Integer.Parse(oWS.Range("W55").Value);
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "result", "top.$get(\"" + tns.ClientID + "\").value = '" + resultString + "';", true);

附:此解决方法以及您可以在可从 codeplex 下载的 AjaxControlToolkit 示例站点中找到的许多其他解决方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多