Resetting the value of a System.Web.UI.HtmlControls.HtmlInputFile

N

Nathan Sokalski

I have a System.Web.UI.HtmlControls.HtmlInputFile control that I use to
submit files. After the file is successfully submitted, I want the field to
be reset so that the user knows the file was submitted. However, ASP.NET
does not let you change the Value property of an HtmlInputFile control. How
can I reset the HtmlInputFile control to it's original state? Thanks.
 
C

Cor Ligthert [MVP]

Nathan,

A HTML control is not an ASPNET control. If it had extentions to handle it
in a better way, than it would be an ASPNET control.

Therefore handling an HTML control is as it could be done forever in HTML.
In my opinion is than the way to search for it on Google, but than not in
relation to DotNet but just as HTML control.

Cor
 
G

Guest

Hi,
What you mean by reseting ?? is it means that you need to clear the value
from the control after the postback ??
 
N

Nathan Sokalski

I think that there is an important lesson you should learn about how ASP.NET
handles controls. Any time you add runat="server" and an ID attribute to a
control, whether it is an html control or an ASP.NET webcontrol or any other
kind of control, if it is declared ASP.NET will treat it as an object (not
necessarily with extensions, it might just be an HtmlGenericControl). But
ASP.NET does have a class for the input type="file" control, which is
System.Web.UI.HtmlControls.HtmlInputFile One of the properties of this
control is Value. The Value property is not labeled as ReadOnly, but when
ASP.NET runs into the code where I assign a value to it while my Application
is running, it gives me an error saying I cannot change the Value property.
If I remember correctly, the same thing happens in JavaScript (although it's
been a while since I tried that). I may not have explained every detail with
textbook clarity here, but the important thing is that from ASP.NET's view
in my code, it is an ASP.NET control.
 
N

Nathan Sokalski

Yes, if the control continues to display the file path after I upload it,
many users will be inclined to think the upload was unsuccessful (even
though they will be able to see it in a list on the page). But I also want
it to be cleared so that the validator control I use to check that they
selected a file is useful.
 
G

Guest

I am also having difficultly with the htmlinput file control I have a script
to validate the entry if the validation fails I need to return to the form
with htmlinputfile value still selected in the input box. The validation is
actually failing because of the file description that is entered into another
field on the form.

I AM SORRY COR to post in this thread but MS does use the HTMLINPUTFILE in
documentation and I have not had luck in GOOGLE.

Do you think you could tell us where to post this question instead of here?
 
G

Gaurav Vaish \(EduJini.IN\)

Haven't thoroughly looked at your code, but you may probably want to do the
following:

object SaveViewState()
{
object[] data = new object[2];
data[0] = base.SaveViewState();
date[1] = hash;

return data;
}

LoadViewState(object obj)
{
if(obj != null && obj is object[])
{
object[] data = (object[]) obj;
base.LoadViewState(data[0]);
Hashtable hash = (Hashtable) data[1];
<<Populate from the hash>>
}
}

--
Happy Hacking,
Gaurav Vaish
http://www.mastergaurav.org
http://www.edujini.in
 
G

Guest

I am new to c# I just want to inherit from htmlinputfile control and override
default LoadPostData always returns
false I want it to return true it is not security violation because the
Value property is readonly. The user then does not have to reselect the file
to try upload again. I have a System.Web.UI.HtmlControls.HtmlInputFile
control that I use to
submit files. Before the file is successfully submitted I validate another
field on the form, it is the description of the file must be 500 characters.
I am adding the file to a site server library programmatically so if the
field is too long I want to return the user to the form with file still
selected in the HtmlInputFile control. I am using an error label to inform
the user to shorten the description. I do not want the user to have to
browse again to the same file after he has shortened the description. Right
now the file does not upload but the control is empty. ASP.NET does not let
me programmatically put the full filename and path back into the Value
property of the HtmlInputFile control. How can I do this? I have version
asp.net 1.1 I found this but I don't know enough where to start
.............
these controls do not save their viewstate. LoadPostData always returns
false. You can inherit from the class and
override LoadPostData to return true and try to restore the value, and still
have value readonly.
I am new to c# and asp net controls. is there example to inherit from
HtmlInputFile class and override LoadPostData to
return true I am using C# and this is challenging me bad. cindy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,050
Latest member
AngelS122

Latest Threads

Top