gpt4 book ai didi

c# - 回发后 FileUpload 为空

转载 作者:行者123 更新时间:2023-11-30 19:10:03 24 4
gpt4 key购买 nike

我有一个关于在回发后为空的 ASP.NET 文件 uploader 的问题。我有一个文件上传控件、一个文本框控件和一个按钮控件。

当我单击该按钮时,它会检查文本框是否已填充,如果已填充则执行操作,如果未填充则显示错误消息并停留在页面上。但是,当我按下按钮并且文本框为空时,按钮回发和文件 uploader 为空,用户必须再次选择文件。所以:用户选择文件 > 文件位于文件 uploader 中 > 用户按下按钮 > 弹出错误消息 > 文件 uploader 在回发后丢失文件。

当用户选择了一个文件但还没有点击按钮时 (koala.jpg) enter image description here

按下按钮时,文件消失(未选择文件)
enter image description here

如何在回发后将文件保留在文件 uploader 中,或者如果文本框为空,如何告诉按钮不要回发?

编辑:

请注意,我简化了问题,第一篇文章的内容只是为了让我的问题更清楚。

页面加载:

    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();



}

按钮点击:

//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

errorSubject 和 errorContent 是显示为错误的隐藏 div

最佳答案

无法设置文件输入的值。这是一项浏览器安全功能,它与 password 字段相同,唯一的区别是 password 字段您可以使用 JavaScript 设置值。

但是对于 file 输入,您无法设置该值。

解决方案是防止回发,使用JavaScript 在回发前检查值。

关于c# - 回发后 FileUpload 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20394337/

24 4 0