繁体   English   中英

清除vb.net项目vs2008上的文本字段

[英]Clearing text fields on vb.net project vs2008

摘要:网页上有一些字段,允许用户输入付款。 系统处理完付款后,未清除这些字段。 所以我的任务是简单地清除它们。 这是几行代码:

' first insert the transaction
InsertANewTransaction()

'clear out the values
txtAddTransAmount.Text = ""
ddlAddTransTypes.SelectedIndex = -1
txtComment.Text = ""

' then create and print the receipt
Payment2MsWordDoc(Payment, PaymentType, PreviousBalance, NewBalance, DueDate, ProjMinPayment)

我在中间添加了三行以重置值。 问题是,它们不会重置。 罪魁祸首是对Payment2MsWordDoc过程的文件行进行一些调试:

Response.AppendHeader("Content-Type", "application/msword")
Response.AppendHeader("Content-disposition", "attachment; filename=" + fileName)
Response.Write(strBody)

该过程是将HTML收据写入strBody并将其显示给用户。 他们会看到“文件下载,您要打开还是保存此文件...。”并可以以ms字打开收据。 如果没有这三行,则重置将起作用。 很明显,他们正在弄乱某些东西,我只是不明白什么。

我有一个解决方法,但是我想知道发生了什么。 甚至可以说这是创建/下载文档的正确方法。 这在一个继承的系统中,原来的设计师早已不复存在。 我在VB或Web应用程序方面都不强,因此对于问题出在哪里一无所知。

想象一下,您在网页上有一个文本区域,然后有一个指向该文件下方的word文档的常规超链接。 如果键入文本区域,然后单击链接,您是否希望文本区域清除? 不,浏览器将只启动word文档,并按原样保留页面。 您的表单也发生了同样的事情。 提交后,服务器仅发送Word文档,并且由于服务器未发送任何新的HTML,因此浏览器保持原样。 您从文本字段中清除的所有内容都没有关系,因为新状态永远不会被发送出去。 您需要做的是向浏览器发送新的HTML,而不是doc这个词。 在新的HTML中,您可以包括指向文档doc或更好的下载链接的元重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM