0
내 코드는 오류 발생 : 형식이 잘못입력 문자열이 올바른 형식 때
입력 문자열
번호 :
protected void btnGenerateReport_Click(object sender, EventArgs e)
{
dtRoom.Columns.Add(new DataColumn("ID", typeof(string)));
dtRoom.Columns.Add(new DataColumn("RecievingDate", typeof(string)));
dtRoom.Columns.Add(new DataColumn("FromMobileNo", typeof(string)));
dtRoom.Columns.Add(new DataColumn("Message", typeof(string)));
dtRoom.Columns.Add(new DataColumn("IsComplaint", typeof(short)));
// bool var = false;
for (int i = 0; i <= 5; i++)
{
//drw = dtRoom.NewRow();
DropDownList IsValid = (DropDownList) GridViewSmsComplaints.Rows[i].FindControl("ddlValidity");
if (IsValid.SelectedValue == "1")
{
int ID = Convert.ToInt32(GridViewSmsComplaints.Rows[i].Cells[0].Text);
ManageRecievedMessage mngRecMsg = new ManageRecievedMessage();
mngRecMsg.UpdateSmsComplaintValidity(ID, 1);
//var = true;
DataRow datarw = null;
//dtRoom = new DataTable();
datarw = dtRoom.NewRow();
datarw[0] = GridViewSmsComplaints.Rows[i].Cells[0].Text;
datarw[1] = GridViewSmsComplaints.Rows[i].Cells[1].Text;
datarw[2] = GridViewSmsComplaints.Rows[i].Cells[2].Text;
datarw[3] = GridViewSmsComplaints.Rows[i].Cells[3].Text;
datarw[4] = Convert.ToInt16(GridViewSmsComplaints.Rows[i].Cells[4].Text);
dtRoom.Rows.Add(datarw);
는이 광고에 오류가 발생 :
datarw[4] = Convert.ToInt16(GridViewSmsComplaints.Rows[i].Cells[4].Text);
드롭 다운에서 선택하기 때문에 1부터 4까지는 datarw 4를 전달해야합니다. 당신의 Value
1 만 Text
그것은 "유효"입니다에 해당하기 때문에
<asp:DropDownList ID="ddlValidity" runat="server">
<asp:ListItem Value="-1" Text="-Select-"></asp:ListItem>
<asp:ListItem Value="1" Text="Valid"></asp:ListItem>
<asp:ListItem Value="0" Text="Invalid"></asp:ListItem>
</asp:DropDownList>
당신에게 디버그를하고 실제 값이 무엇을 참조하십시오 따라서과 같이, 대신 드롭 다운에서
Value
를 사용하도록 코드를 변경해야합니까? –예 "1" 1 따옴표 포함 – user3518032