C#显示双输出 公共部分课堂问题:System.Web.UI.Page { private bool InstanceFieldsInitialized=false; 私人问题() { 如果(!InstanceFieldsInitialized) { 初始化instancefields(); InstanceFieldsInitialized=true; } } 私有void InitializeInstanceFields() { r=User.Identity.Name; } private ArrayList@params=new ArrayList(); 字符串r; private ArrayList pklist=new ArrayList(); //根据表格的内容动态加载问题。 受保护的无效页面加载(对象发送方,System.EventArgs e) { //大量问题 string proc=“问题\选择”; SqlConnection QuestionsConnection=新的SqlConnection(ConfigurationManager.ConnectionString[“反馈ConnectionString”].ConnectionString); SqlCommand QuestionsCommand=新的SqlCommand(proc,QuestionsConnection); 问题Command.CommandType=CommandType.StoredProcess; SqlDataAdapter da=新的SqlDataAdapter(问题命令); DataTable vTable=新DataTable(); da.填充(vTable); Table detailsTable=新表(); detailsTable.CellSpacing=10; var i=0; foreach(vTable.Rows中的数据行) { var value=vTable.Rows[i][0].ToString(); TableRow tRow=新的TableRow(); TableCell tCell1=新的TableCell(); TableCell tCell2=新的TableCell(); var pk=vTable.Rows[i][1].ToString(); pklist.add(pk); 标签myLabel=新标签(); myLabel.CssClass=“bold”; TextBox myText=新建TextBox(); myText.TextMode=TextBoxMode.MultiLine; myText.Columns=40; myText.Rows=4; myText.ID=“Box”+i; @参数add(myText.ID); myLabel.Text=string.Format(“{0}.{1}”,i+1,value); tCell1.Controls.Add(myLabel); tCell2.Controls.Add(myText); tRow.Cells.Add(tCell1); tRow.Cells.Add(tCell2); detailsTable.Rows.Add(tRow); i+=1; } Panel1.控件。添加(detailsTable); } //即时C#警告:严格的“句柄”转换仅适用于在同一类中声明的字段-事件将连接到“SubscribeToEvents”中: //原始行:受保护的子按钮1\u单击(发件人作为对象,e作为事件参数)处理按钮1。单击 受保护的无效按钮1\u单击(对象发送者,事件参数e) { //调查完成后,此方法检查谁完成了调查,并将其插入表中。 字符串proc2=“用户插入”; SqlConnection ResponseConnection2=新的SqlConnection(ConfigurationManager.ConnectionString[“反馈ConnectionString”].ConnectionString); SqlCommand ResponseCommand2=新的SqlCommand(proc2,ResponseConnection2); ResponseCommand2.CommandType=CommandType.StoredProcess; responseCommand2.Parameters.AddWithValue(“@UserName”,r); 响应连接2.Open(); responseConnection2=(SqlConnection)responseCommand 2.ExecuteScalar(); //建立连接并设置使用存储过程的命令 string proc=“Responses\u Insert”; SqlConnection ResponseConnection=新的SqlConnection(ConfigurationManager.ConnectionString[“反馈ConnectionString”].ConnectionString); SqlCommand responsecommand=newsqlcommand(proc,responseconnection); ResponseCommand.CommandType=CommandType.StoredProcess; responseConnection.Open(); ***var i=0; 对于(int a=0;a

C#显示双输出 公共部分课堂问题:System.Web.UI.Page { private bool InstanceFieldsInitialized=false; 私人问题() { 如果(!InstanceFieldsInitialized) { 初始化instancefields(); InstanceFieldsInitialized=true; } } 私有void InitializeInstanceFields() { r=User.Identity.Name; } private ArrayList@params=new ArrayList(); 字符串r; private ArrayList pklist=new ArrayList(); //根据表格的内容动态加载问题。 受保护的无效页面加载(对象发送方,System.EventArgs e) { //大量问题 string proc=“问题\选择”; SqlConnection QuestionsConnection=新的SqlConnection(ConfigurationManager.ConnectionString[“反馈ConnectionString”].ConnectionString); SqlCommand QuestionsCommand=新的SqlCommand(proc,QuestionsConnection); 问题Command.CommandType=CommandType.StoredProcess; SqlDataAdapter da=新的SqlDataAdapter(问题命令); DataTable vTable=新DataTable(); da.填充(vTable); Table detailsTable=新表(); detailsTable.CellSpacing=10; var i=0; foreach(vTable.Rows中的数据行) { var value=vTable.Rows[i][0].ToString(); TableRow tRow=新的TableRow(); TableCell tCell1=新的TableCell(); TableCell tCell2=新的TableCell(); var pk=vTable.Rows[i][1].ToString(); pklist.add(pk); 标签myLabel=新标签(); myLabel.CssClass=“bold”; TextBox myText=新建TextBox(); myText.TextMode=TextBoxMode.MultiLine; myText.Columns=40; myText.Rows=4; myText.ID=“Box”+i; @参数add(myText.ID); myLabel.Text=string.Format(“{0}.{1}”,i+1,value); tCell1.Controls.Add(myLabel); tCell2.Controls.Add(myText); tRow.Cells.Add(tCell1); tRow.Cells.Add(tCell2); detailsTable.Rows.Add(tRow); i+=1; } Panel1.控件。添加(detailsTable); } //即时C#警告:严格的“句柄”转换仅适用于在同一类中声明的字段-事件将连接到“SubscribeToEvents”中: //原始行:受保护的子按钮1\u单击(发件人作为对象,e作为事件参数)处理按钮1。单击 受保护的无效按钮1\u单击(对象发送者,事件参数e) { //调查完成后,此方法检查谁完成了调查,并将其插入表中。 字符串proc2=“用户插入”; SqlConnection ResponseConnection2=新的SqlConnection(ConfigurationManager.ConnectionString[“反馈ConnectionString”].ConnectionString); SqlCommand ResponseCommand2=新的SqlCommand(proc2,ResponseConnection2); ResponseCommand2.CommandType=CommandType.StoredProcess; responseCommand2.Parameters.AddWithValue(“@UserName”,r); 响应连接2.Open(); responseConnection2=(SqlConnection)responseCommand 2.ExecuteScalar(); //建立连接并设置使用存储过程的命令 string proc=“Responses\u Insert”; SqlConnection ResponseConnection=新的SqlConnection(ConfigurationManager.ConnectionString[“反馈ConnectionString”].ConnectionString); SqlCommand responsecommand=newsqlcommand(proc,responseconnection); ResponseCommand.CommandType=CommandType.StoredProcess; responseConnection.Open(); ***var i=0; 对于(int a=0;a,c#,C#,} 我需要一点帮助。我的代码在运行时显示双输出。使用代码转换器可以选择使用var、object或dynamic。选择了var,但它仍然输出两倍。运行调试器时,不会显示任何错误 我怀疑您是否需要以下(for循环中)中的.ToString(): 如果循环似乎仍在执行太多次,则应尝试在调试器中单步执行循环,或添加打印语句(Console.WriteLine),以打印循环每次迭代的变量值,并更好地了解循环的执行情况。什么是双输出?调试器不会显示错误。调试器帮助您查找错误。但是你做了这个发现。你的代码有超

}


我需要一点帮助。我的代码在运行时显示双输出。使用代码转换器可以选择使用var、object或dynamic。选择了var,但它仍然输出两倍。运行调试器时,不会显示任何错误

我怀疑您是否需要以下(for循环中)中的.ToString():


如果循环似乎仍在执行太多次,则应尝试在调试器中单步执行循环,或添加打印语句(Console.WriteLine),以打印循环每次迭代的变量值,并更好地了解循环的执行情况。

什么是双输出?调试器不会显示错误。调试器帮助您查找错误。但是你做了这个发现。你的代码有超过两倍的输出错误…请更具体一些。哪种方法提供双输出,您是如何测试的?这段代码到底要做什么
public partial class Questions : System.Web.UI.Page
{

    private bool InstanceFieldsInitialized = false;

    private Questions()
    {
        if (!InstanceFieldsInitialized)
        {
            InitializeInstanceFields();
            InstanceFieldsInitialized = true;
        }
    }

    private void InitializeInstanceFields()
    {
        r = User.Identity.Name;
    }

    private ArrayList @params = new ArrayList();
    string r;
    private ArrayList pklist = new ArrayList();

    //Dynamically Loads the Questions based off of the table.
    protected void Page_Load(object sender, System.EventArgs e)
    {
        //Questions Loaded

        string proc = "Question_Select";
        SqlConnection QuestionsConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Feedback-ConnectionString"].ConnectionString);
        SqlCommand QuestionsCommand = new SqlCommand(proc, QuestionsConnection);
        QuestionsCommand.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter da = new SqlDataAdapter(QuestionsCommand);
        DataTable vTable = new DataTable();
        da.Fill(vTable);




        Table detailsTable = new Table();
        detailsTable.CellSpacing = 10;
        var i = 0;

        foreach (DataRow row in vTable.Rows)
        {
            var value = vTable.Rows[i][0].ToString();
            TableRow tRow = new TableRow();
            TableCell tCell1 = new TableCell();
            TableCell tCell2 = new TableCell();
            var pk = vTable.Rows[i][1].ToString();
            pklist.add(pk);

            Label myLabel = new Label();

            myLabel.CssClass = "bold";

            TextBox myText = new TextBox();

            myText.TextMode = TextBoxMode.MultiLine;
            myText.Columns = 40;
            myText.Rows = 4;
            myText.ID = "Box" + i;
            @params.add(myText.ID);

            myLabel.Text = string.Format("{0}. {1}", i + 1, value);
            tCell1.Controls.Add(myLabel);
            tCell2.Controls.Add(myText);
            tRow.Cells.Add(tCell1);
            tRow.Cells.Add(tCell2);

            detailsTable.Rows.Add(tRow);
            i += 1;
        }
        Panel1.Controls.Add(detailsTable);

    }


    //INSTANT C# WARNING: Strict 'Handles' conversion only applies to fields declared in the same class - the event will be wired in 'SubscribeToEvents':
    //ORIGINAL LINE: Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    protected void Button1_Click(object sender, EventArgs e)
    {

        //When a survey is completed, this method checks to see who completed the survey and insert them into a table.
        string proc2 = "User_Insert";
        SqlConnection ResponsesConnection2 = new SqlConnection(ConfigurationManager.ConnectionStrings["Feedback-ConnectionString"].ConnectionString);
        SqlCommand ResponsesCommand2 = new SqlCommand(proc2, ResponsesConnection2);
        ResponsesCommand2.CommandType = CommandType.StoredProcedure;

        ResponsesCommand2.Parameters.AddWithValue("@UserName", r);
        ResponsesConnection2.Open();
        ResponsesConnection2 = (SqlConnection)ResponsesCommand2.ExecuteScalar();

        //   Establish connection and set up command to use stored procedure
        string proc = "Responses_Insert";
        SqlConnection ResponsesConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Feedback-ConnectionString"].ConnectionString);
        SqlCommand ResponsesCommand = new SqlCommand(proc, ResponsesConnection);
        ResponsesCommand.CommandType = CommandType.StoredProcedure;

        ResponsesConnection.Open();

       <--HERE IS WHERE I THINK THE PROBLEM IS-->
        ***var i = 0;
        for (int a = 0; a < @params.ToString().Count(); a++)
        {
            ResponsesCommand.Parameters.Clear();
            TextBox textbox = Panel1.FindControl(@params.ToString().ElementAt(a).ToString()) as TextBox;
            ResponsesCommand.Parameters.AddWithValue("@QuestionID", pklist.ToString().ElementAt(i).ToString());
            ResponsesCommand.Parameters.AddWithValue("@response", textbox.Text);
            ResponsesCommand.Parameters.AddWithValue("@UserName", r);
            ResponsesConnection = (SqlConnection)ResponsesCommand.ExecuteScalar();
            i += 1;***

        }


        Microsoft.VisualBasic.Interaction.MsgBox("Thank you for completing the survey.", Microsoft.VisualBasic.MsgBoxStyle.MsgBoxSetForeground, "Survey Complete");



        Response.Redirect("../../../Default.aspx");

    }
    //Button to see if a person has chosen to be marked annonymous.
    //INSTANT C# WARNING: Strict 'Handles' conversion only applies to fields declared in the same class - the event will be wired in 'SubscribeToEvents':
    //ORIGINAL LINE: Protected Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles Checkbox1.CheckedChanged
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (Checkbox1.Checked == false)
        {
            r = User.Identity.Name;
        }
        else
        {
            r = "Anonymous";
        }
    }
}
a < @params.ToString().Count()
a < @params.Count
@params.ToString().ElementAt(a)
pklist.ToString().ElementAt(i)