0

我有一个usercontrol被叫AddRow和一个form被叫TimeSheetTimesheet有一个save_btn事件,点击save_btn输入的值usercontrol应该写入数据库,但我无法访问值usercontrol

下面是代码

public void save_btn_Click(object sender, EventArgs e)
    {

        SqlCommand cmdinsert = new SqlCommand("insert into TimeSheet (Project_Name,Activity_Name, Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday) values (@Project_Name,@Activity_Name, @Monday,@Tuesday,@Wednesday,@Thursday,@Friday,@Saturday,@Sunday) ", con);
        cmdinsert.Parameters.AddWithValue("@Project_Name", add.project_cbox.SelectedIndex);
        cmdinsert.Parameters.AddWithValue("@Activity_Name", activity_cb.SelectedIndex);
        cmdinsert.Parameters.AddWithValue("@Monday", add.monday_txt_val);
        cmdinsert.Parameters.AddWithValue("@Tuesday", add.tuesday_txt_val);
        cmdinsert.Parameters.AddWithValue("@Wednesday", add.wednesday_txt.Text);
        cmdinsert.Parameters.AddWithValue("@Thursday", add.thursday_txt.Text);
        cmdinsert.Parameters.AddWithValue("@Friday", add.friday_txt.Text);
        cmdinsert.Parameters.AddWithValue("@Saturday", add.saturday_txt.Text);
        cmdinsert.Parameters.AddWithValue("@Sunday", add.sunday_txt.Text);
        con.Open();
        cmdinsert.ExecuteNonQuery();
        con.Close();  

    }

此事件在timesheet但值为空字符串...我无法访问该值,有解决方案吗?这是窗口应用程序

 public string monday_txt_val
    {
        get
        {
            return monday_txt.Text;
        }

        set
        {
            monday_txt.Text = value;
        }
    }

monday_txt是一个 textbox动态创建的,在输入值后,但它正在读取一个空字符串,尽管我输入了一个值textbox,当它传递给form值为monday_txt空字符串时,如何解决这个问题?

我能想到的唯一访问monday_txt方法是创建一个AddRowin Timesheet..但是当创建新实例时我将无法获得该值,请帮助

4

1 回答 1

0

好的,所以首先你说你动态创建文本框,但是在输入值之后..我不明白。如果您尚未创建文本框,那么您是否输入了该值。那是 1. 2 您可以尝试像 Response.Write 按钮单击(我使用 Web 表单,所以我不知道您如何调试)来查看您的文本框中是否有任何内容。如果你有并且它没有显示,那么首先尝试通过代码设置文本框..看看你是否可以访问它。此外,如果您动态创建文本框,请查看您在哪里创建它。如果它不在表单元素内,您将无法访问它。这就是我能想到的。你需要有更多的细节并显示比这更多的代码。

于 2013-01-18T12:44:21.273 回答