Назначить зарегистрированного пользователя текстовому полю внутри элемента управления FormView

#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;
    }

}
  

}