2012-02-10 130 views
1

我有一种形式的属性,它使用一系列默认值填充自己,如果您选择编辑默认值,则会将其发送回服务器并执行一个函数,以更新属性这取决于您更改的那个,然后刷新表单。每个属性都是在Property.ascx中定义的模板在ASP.NET中获取FileUpload值onchange

我的问题是我不知道如何让我的文件上传来执行此操作。

<asp:TextBox runat="server" ID="txtValue" AutoPostBack="True" ontextchanged="txtUpdate" />

此时它调用Property.ascx.cs功能

protected void txtUpdate(object sender, EventArgs e)

中,我可以从this.txtValue.Text

拉值是什么asp:FileUploadontextchanged

我知道onchange将允许客户端执行JavaScript,但我需要的是服务器端。

+0

每当文本框失去焦点时,您都​​在刷新页面?这一定很可怕。我建议你摆脱“autopostbacks”,只是在JS中做整个事情。 – 2012-02-10 00:54:52

+0

表格只有4-8个项目,一般用户只需要编辑一个或两个默认值。此外,更新需要查询SQL的含义,我必须做到服务器端。 – skeletalmonkey 2012-02-10 01:01:18

+1

这是XHR(或“Ajax”)的用途。只需从JS调用服务器端处理程序。 – 2012-02-10 01:02:33

回答

2

由于安全限制,这根本不可能。

浏览器已锁定文件上传功能,因此您无法使用此机制自动上载文件。

另请注意,除非您的其他回发将文件保存为其进程的一部分,否则您将会使用lose their file selection if they did that first