2012-02-10 77 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