同じページでテキストボックスコントロールを検索しようとすると問題が発生しました。私はそれをデバッグするとき、それは私にnullを与え続けます。FindControlでテキストボックスを見つけることができませんC#
public void UpdateTimeLog(string input)
{
string timeNumber = "txtTime" + input;
TextBox myTextbox = (TextBox)FindControl(timeNumber);
sqlConnection.Open();
using (var command = new SqlCommand("UPDATE [JobSheet] SET [Time" + input + "][email protected]" + input + " WHERE [JobShtId][email protected]", sqlConnection))
{
command.Parameters.AddWithValue("@JobShtId", jobSheetId);
command.Parameters.AddWithValue("@Time" + input + "", myTextbox.Text);
command.ExecuteNonQuery();
}
sqlConnection.Close();
}
問題が解決:
は、ここに私のコードです私は、TextBoxコントロールがコンテナ(例えばContentPlaceHolder1)にあったことを指定しませんでした。
public void UpdateTimeLog(string input)
{
var container = Master.FindControl("ContentPlaceHolder1");
string timeNumber = "txtTime" + input;
TextBox myTextbox = (TextBox)container.FindControl(timeNumber);
sqlConnection.Open();
using (var command = new SqlCommand("UPDATE [JobSheet] SET [Time" + input + "][email protected]" + input + " WHERE [JobShtId][email protected]", sqlConnection))
{
command.Parameters.AddWithValue("@JobShtId", jobSheetId);
command.Parameters.AddWithValue("@Time" + input + "", myTextbox.Text);
command.ExecuteNonQuery();
}
sqlConnection.Close();
}
を試してみてくださいID.soによる制御を見つけることは困難です。 。Page.FindControlとthis.Page.FindControlを試してみてください。それがあなたに役立つかどうか教えてください –
テキストボックスはどこに定義されていますか?それはgridviewのような他のコンテナコントロールにありますか? – Adil
私はそれをしましたが、うまくいきませんでした。私はnullを返し続けた理由を知りました。なぜなら、コントロールがコンテナ内にあることを指定しなかったからです。たとえば、ContentPlaceHolder1 –