사용자가 고객 번호를 입력 한 다음 업로드 할 파일을 선택한 다음 설명을 입력하고 저장 버튼을 누릅니다. 그러나 파일을 선택했는지 확인하기 위해 항상 false를 반환합니다. 이유를 알고 싶습니다.내 File.HasFile이 항상 false를 반환하는 이유
편집 : 이제 enctype = "multipart/form-data"매개 변수가있는 양식을 사용 중이며 업데이트 패널에 래핑됩니다.
else if ((images.Selected == true || docs.Selected == true) &&
(Upload.HasFile == false || txtInfo.Text == string.Empty))
{
if (Upload.HasFile == false)
lblErrorMessage.Text = "You haven't selected a file";
else lblErrorMessage.Text = "You must enter a description";
validated = false;
}
그리고 여기, 저장 버튼에서 온 방법이다 : 양식 및 업데이트 패널 모두 여기에 해당 오류를 처리하는 코드의 조각이야와 HasFile() 값을 받고 마스터 페이지
에
protected void btnSaveNew_Click(object sender, EventArgs e)
{
bool validated = true;
lblErrorMessage.ForeColor = System.Drawing.Color.Red;
if (txtCustomerNumber.Text.Length != 8)
{
if (txtCustomerNumber.Text.Length == 0)
lblErrorMessage.Text = "Hey! What about the customer number?";
else if (txtCustomerNumber.Text.Length > 8)
lblErrorMessage.Text = "Invalid Customer Number length (" + (txtCustomerNumber.Text.Length - 8) + " char(s) too long)";
else lblErrorMessage.Text = "Invalid Customer Number length (" + (8 - txtCustomerNumber.Text.Length) + " char(s) short)";
validated = false;
}
else if (links.Selected == true && (txtLink.Text == string.Empty || txtInfo.Text == string.Empty))
{
if (txtLink.Text == string.Empty)
lblErrorMessage.Text = "Hey! You forgot to enter a link!";
else lblErrorMessage.Text = "You must enter a description";
validated = false;
}
else if ((images.Selected == true || docs.Selected == true) &&
(Upload.HasFile == false || txtInfo.Text == string.Empty))
{
if (Upload.HasFile == false)
lblErrorMessage.Text = "You haven't selected a file";
else lblErrorMessage.Text = "You must enter a description";
validated = false;
}
else if (txtInfoDesc.Text == string.Empty || txtInfo.Text == string.Empty)
{
if (txtInfoDesc.Text == string.Empty)
lblErrorMessage.Text = "You must enter an info description";
else lblErrorMessage.Text = "You must enter info Data";
validated = false;
}
if (validated == false)
{
btnModify.Visible = false;
btnCreateNew.Visible = false;
ddlCustomerNumber.Visible = false;
btnSaveNew.Visible = true;
btnCancel.Visible = true;
txtCustomerNumber.Visible = true;
switch (rblSection.SelectedIndex)
{
case 0: txtInfo.Visible = true;
txtLink.Visible = true;
break;
case 1:
case 2: txtInfo.Visible = true;
Upload.Visible = true;
break;
case 3: txtInfo.Visible = true;
txtInfoDesc.Visible = true;
break;
}
if (GetCategoryIDCookie() != 0)
divData.Attributes.Add("Style", "overflow:auto");
}
else
{
addNewCustomerNumber(txtCustomerNumber.Text, txtInfoDesc.Text, txtInfo.Text);
ddlCustomerNumber.Visible = true;
divData.Attributes.Remove("Style");
Response.Redirect(Request.RawUrl);
}
}
우연히 업데이트 패널 내부에 있습니까? –
양식 태그에 enctype = "multipart/form-data"가 있습니까? –
@ 미첼 - 그래. – Justen