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

虽然我不能肯定地说,但您似乎遇到了类型转换问题。

但是,您真正的问题在于您对调试的了解。我建议您阅读一些有关在 IDE 中调试的在线教程(我将假设是 Visual Studio),并了解出现的不同类型的错误以及导致它们的原因。这将帮助您阅读堆栈跟踪以查找错误并理解它们。

如果您使用的是 Visual Studio 2010,那么这篇文章帮助我快速了解调试的基础知识。http://www.codeproject.com/Articles/79508/Mastering-Debugging-in-Visual-Studio-2010-A-Beginn

于 2013-11-13T13:51:28.327 回答
0

其中之一DropDownListcontrol.SelectedValueDocId.Text具有无法转换为整数的字符串值。设置一个断点,看看你有什么。断点是代码行左侧的一个红色小圆圈,可以通过鼠标单击设置。一旦应用程序在那里停止,您就可以通过将鼠标光标拖到它们上来查看实际变量值。

于 2013-11-13T13:32:01.720 回答