#asp.net #exception #drop-down-menu #add #formatexception
#asp.net #исключение #выпадающее меню #Добавить #formatexception
Вопрос:
В следующем коде, когда я пытаюсь добавить элемент в выпадающий список ASP, System.FormatException: входная строка была не в правильном формате, выбрасывается.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class ScheduleExam : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String connection = System.Configuration.ConfigurationManager.ConnectionStrings["TYCConnection"].ConnectionString;
String branch = Request.Form["ctl00$ctl00$MainContent$AdminMainContent$BranchDropDownList"];
if (!String.IsNullOrWhiteSpace(branch))
{
if (!branch.Equals("00"))
{
SqlConnection sqlConn = new SqlConnection(connection);
String semQuery = "select totalSem from branchTable where branchId='" branch "'";
SqlCommand semCommand = new SqlCommand(semQuery, sqlConn);
sqlConn.Open();
SqlDataReader semReader = semCommand.ExecuteReader();
semReader.Read();
int totalSem = Int32.Parse(semReader["totalSem"].ToString());
SemesterDropDownList.Items.Clear();
SemesterDropDownList.Enabled = true;
//ListItem list = new ListItem("Select");
SemesterDropDownList.Items.Add(new ListItem("select"));
for (int sem = 1; sem <= totalSem; sem )
{
//SemesterDropDownList.Items.Add(sem.ToString());
}
sqlConn.Close();
}
else
{
SemesterDropDownList.Items.Clear();
SemesterDropDownList.Enabled = false;
//SemesterDropDownList.Items.Add("First Select Branch");
}
}
else
{
SemesterDropDownList.Enabled = false;
//SemesterDropDownList.Items.Add("First Select Branch");
}
}
protected void RegisterButton_Click(object sender, EventArgs e)
{
}
}
Однако, когда я комментирую все такие строки, не возникает исключения.
В чем может быть проблема и ее возможное решение?
Комментарии:
1. Начните с использования отладчика для пошагового выполнения кода. В какой именно момент вы получаете ошибку?
Ответ №1:
Вместо
int totalSem = Int32.Parse(semReader["totalSem"].ToString());
попробуйте
int totalSem;
Int32.TryParse(semReader["totalSem"].ToString(),totalSem);
и если это устраняет исключение, тогда рассмотрите решение проблем с этим полем.