#c# #asp.net #.net #ado.net #formview
#c# #asp.net #.net #ado.net #formview
Вопрос:
ASP.Net используя C #, мне нужен правильный синтаксис. На данный момент это очень важно. Мне нужно назначить аутентифицированного / зарегистрированного пользователя текстовому полю внутри элемента управления FormView (точнее, FormView1)! Я не могу получить это дальше, и я прошу о помощи. Я хочу заранее признать, что я не полностью понимаю это, и если вы можете помочь, пожалуйста, предоставьте правильный код. Я знаю, что у меня что-то не так, но я просто показываю, что я пытаюсь сделать до сих пор. Я выполняю вставку данных формы в таблицу базы данных в SQL Server. Сообщение об ошибке: описание кода серьезности Ошибка состояния подавления строки файла проекта CS0103 Имя ‘Submitted_by_email’ не существует в текущем контексте echodevelopment C:UsersdmartinsourcereposechodevelopmentechodevelopmentSubmitinitialrequest.aspx.cs 30 Активных
protected void FormView1_DataBound(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Insert)
{
TextBox TGG = (TextBox)FormView1.FindControl("Submitted_by_email");
TGG.Text = Submitted_by_email.Text;
}
if (submitted_by_email != null)
{
_ = Context.User.Identity.Name;
if (User.Identity.IsAuthenticated)
submitted_by_email.Text = User.Identity.Name;
}
}
Комментарии:
1. Сначала вы получаете код submitted_by_email и помещаете результат в TGG. но вы следующий, если попытаетесь использовать submitted_by_email, что в первых нескольких строках показывает, что вы должны использовать findcontrol для ссылки на submitted_by_email. Итак, в любом месте этого кода необходимо использовать findcontrol для использования/get/refernce submitted_by_email . Либо используйте элемент управления поиском один раз вне режима test, либо во 2-м, если вам нужно снова выполнить findcontrol. Таким образом, любой код, который пытается использовать submitted_by_email, не будет работать — сначала вы должны использовать findcontrol для ссылки. Теперь, если первый findcontrol завершается с ошибкой, имя элемента управления неверно
Ответ №1:
Решено!
protected void Page_Load(object sender, EventArgs e)
{
TextBox MyTextBox = (TextBox)FormView1.FindControl("TextBoxID");
MyTextBox.Text = User.Identity.Name;
}
}
}