私はまだプログラミング全体が新しく、私のクエリに対してより具体的な/直接的な答えを見つけることができませんでした。フォームのサブミット時に無効化されたテキストボックスが再度有効になる問題
私はasp.net C#で構築したフォームをデータベースからデータを取得します。ストアドプロシージャが実行され、一連のテキストボックスに何かが見つかった場合(ユーザーの名前、電子メール、電話番号など)、自動入力されます。入力されたフィールドは無効になります。空のフィールドは、必要に応じてユーザーが完了できるように有効なままです。
しかし、ユーザがフォームを送信し、検証に失敗した場合、以前は無効になっていたフィールド(データ付きのもの)が有効になっているので、ユーザはそれらを上書きすることができます。何らかの理由で、元のデータが無効になっているフィールドが見つかった場合、そのフィールドを再び有効にする必要はありませんか?
私はボタンクリックイベントでフィールドを無効にしています。フィールドは、ページの読み込みで無効化されています:.aspxのページで、あなたのテキストボックスのdefinationで
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = title;
Literal formHeader = (Literal)this.Master.FindControl("formHeader");
formHeader.Text = "Travel Booking Request";
if (!Page.IsPostBack)
{
Load_FormDetails();
Load_SeatingPreference();
Load_UserResponses();
Load_UndergroundTravelZones();
}
}
protected void Load_FormDetails()
{
string userName = "";
string userPhone = "";
string userTitle = "";
string userEmail = "";
List<KeyValuePair<string, string>> userDetails = Class1.GetUserDetails();
var name = userDetails.Where(kvp => kvp.Key == "UserDisplayName").Select(kvp => kvp.Value).First();
userName = name.ToString();
var phone = userDetails.Where(kvp => kvp.Key == "UserLandline").Select(kvp => kvp.Value).First();
userPhone = phone.ToString();
var jobtitle = userDetails.Where(kvp => kvp.Key == "UserJobTitle").Select(kvp => kvp.Value).First();
userTitle = jobtitle.ToString();
var email = userDetails.Where(kvp => kvp.Key == "UserEmail").Select(kvp => kvp.Value).First();
userEmail = email.ToString();
txtUserName.Text = userName;
if (txtUserName.Text != "")
{
txtUserName.Enabled = "false";
}
txtUserPhoneNumber.Text = userPhone;
if (txtUserPhoneNumber.Text != "")
{
txtUserPhoneNumber.Enabled = "false";
}
txtUserJobTitle.Text = userTitle;
if (txtUserJobTitle.Text != "")
{
pfptxtUserJobTitle.Enabled = "false";
}
txtUserEmail.Text = userEmail;
if (txtUserEmail.Text != "")
{
txtUserEmail.Enabled = "false";
}
}
永続的に無効になります
、いくつかのコード申し訳 – Webruster
を貼り付けます。最初の投稿を編集してコードを追加しました。 – chesh78
あなたは 'TextBox'を有効にしたいですか? –