0

管理者ログイン時にasp.netでドキュメントを承認しようとしています.2、3日前にドキュメントを承認します.プロジェクトを再度開いてドキュメントを承認すると、「入力文字列は正しい形式でした」というエラーが表示されます.

ここにボタンコードがあります..

     protected void Button1_Click(object sender, EventArgs e)
    {

        string connStr = 
        ConfigurationManager.ConnectionStrings["mydms"].ConnectionString;
        SqlConnection mySQLconnection = new SqlConnection(connStr);


        try{
            mySQLconnection.Open();
        for (int i = 0; i < Repeater2.Items.Count; i++)
        {
            DropDownList DropDownListcontrol =
            ((DropDownList)Repeater2.Items[i].FindControl("DropDownList4"));
            Label DocId = ((Label)Repeater2.Items[i].FindControl("DocId"));
             SqlCommand cmd = new SqlCommand("approveddd", mySQLconnection);
             cmd.CommandType = CommandType.StoredProcedure;
             cmd.Parameters.Add("@DocID", SqlDbType.Int).Value = 
             Convert.ToInt32((DocId.Text));

                cmd.Parameters.Add("@ApproveID", SqlDbType.Int).Value = 
              Convert.ToInt32(DropDownListcontrol.SelectedValue);
                cmd.Parameters.Add("@ApproveBy", SqlDbType.VarChar, 50).Value =
              (Session["Login2"]);

                cmd.ExecuteNonQuery();

                DMSLIB.Doc myDoc = new DMSLIB.Doc();
                myDoc.MarkDocAs(Convert.ToInt16(DocId.Text), 
             Convert.ToInt32(DropDownListcontrol.SelectedValue));

            }
        }
           catch (Exception ex)
            {
                apfi.Text = "Error";
            }
         finally
        {
            mySQLconnection.Close();
        }
        }

問題が発生した場所を教えてください... ??

4

2 に答える 2

0

のいずれか、DropDownListcontrol.SelectedValueまたはDocId.Text整数に変換できない文字列値を持っています。ブレークポイントを設定して、そこにあるものを確認します。ブレークポイントは、コード行の左側にある小さな赤い円で、マウス クリックで設定できます。アプリケーションがそこで停止すると、マウス カーソルを変数の上にドラッグすると、実際の変数の値を確認できます。

于 2013-11-13T13:32:01.720 に答える