#c# #html #asp.net #web
Вопрос:
Так что это странно, потому что раньше это работало, а теперь нет. У меня есть форма html-страницы:
<div class="form-group">
<label for="Email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<div class="form-line">
<input type="email" id="email" runat="server"
class="form-control" name="Email" placeholder="Email" required>
</div>
</div>
</div>
И код на обратной стороне кнопки нажмите, чтобы отредактировать электронную почту этого человека:
userid = Convert.ToInt32(Session["ID"]);
UserClass user = sc.GetUser(userid);
Debug.Print("newemail from form " " " email.Value);
user.Email = email.Value;
if(sc.EditUser(userid, user))
{
messageDiv.Visible = true;
message.Value = "Successfully updated your email ";
}
Но значение email.неверно.
При загрузке страницы у меня есть email.значение, равное исходному электронному письму пользователя, как только пользователь изменит его и нажмет «Изменить», я получу измененное email.значение. Но, по-видимому, это дает исходное значение email., а не то, что ввел пользователь. Раньше он работал нормально, но теперь я не знаю, почему он это делает. Пожалуйста, помогите.
Спасибо
Изменить: Я только что протестировал, оставив значение email.пустым при загрузке страницы. Тогда все работает нормально. Но почему это не сработает, если у меня есть email.значение, равное исходному электронному письму пользователя.
Комментарии:
1. Это всегда стоит попробовать, если вы что-то перемещали (я просто должен был это сделать). Прокомментируйте код кнопки, затем вернитесь в форму и дважды щелкните кнопку, чтобы создать новый обработчик событий. Затем скопируйте сохраненный (прокомментированный) код в новый обработчик.
2. @wazz Я попробую это сделать, у меня такая же проблема и на другой странице.
3. SMTP вы можете отправить по одному электронному письму с экземпляром класса. Вы должны создать новый экземпляр для каждого электронного письма, используя «новый SMTP().
4. Я не отправляю электронные письма, просто разрешаю пользователю изменять свою электронную почту. @jdweng
Ответ №1:
Так что я вел себя глупо. Мне просто нужно было:
if(!IsPostBack){
\then set all to original values like
email.value=user.email;
}