Nie*_*man 2 c# asp.net file-upload
关于回发后为空的ASP.NET文件上载器,我遇到了问题.我有一个文件上传控件,一个文本框控件和一个按钮控件.
当我单击该按钮时,它会检查文本框是否已填充,是否执行操作,如果不是则显示错误消息并保留在页面上.但是,当我按下按钮并且文本框为空时,按钮回发并且fileuploader为空,用户必须再次选择该文件.所以:用户选择文件>文件位于fileuploader>用户按下按钮>弹出错误信息>文件上传器在回发后丢失文件.
当用户选择文件但尚未点击按钮时(koala.jpg)

按下按钮时,文件消失(未选择文件)

如何在回发后将文件保留在fileuploader中,或者如果文本框为空,可以告诉按钮不回发?
编辑:
请注意,我简化了问题,并且第一篇文章的内容只是为了使我的问题更加清晰.
页面加载:
protected void Page_Load(object sender, EventArgs e)
{
//First check if User is logged in
if (Session["User"] == null)
{
Response.Redirect(GetRouteUrl("Login", null));
}
TicketsBLL objTicketsBll = new TicketsBLL();
var cat = objTicketsBll.getAllCategories();
ddlCategory.DataTextField = "name";
ddlCategory.DataValueField = "id";
ddlCategory.DataSource = cat;
ddlCategory.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
按钮单击:
//check if everthing is filled :
errorContent.Visible = false;
errorSubject.Visible = false;
if (txtSubject.Text == "" || txtSubject.Text == null || txtContent.Text == null || txtContent.Text == "")
{
if (txtSubject.Text == "" || txtSubject.Text == null)
{
errorSubject.Visible = true;
}
if(txtContent.Text == null || txtContent.Text == ""){
errorContent.Visible = true;
}
}
else { //Do something after this
Run Code Online (Sandbox Code Playgroud)
errorSubject&errorContent是隐藏的div,显示为错误
Phi*_*ill 10
无法设置文件输入的值.这是一个浏览器安全功能,它与password字段相同,唯一的区别在于password您可以使用JavaScript设置值的字段.
但是file输入时无法设置值.
解决方案是防止回发,用于在回发JavaScript之前检查值.
| 归档时间: |
|
| 查看次数: |
19366 次 |
| 最近记录: |