0
У меня есть текстовое поле со своим ID txtPassword.Доступ к текстовому полю в gridview и его значение
<FooterTemplate>
<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
<asp:Button ID="PasswordGenerator" runat="server" Text="Generete new Password" OnClick="PasswordGenerator_Click" />
</FooterTemplate>
и когда пользователь нажимает на «Generete нового пароля» его идет к этой функции, а в текстовом поле txtPassword будут заполнены automatcly с сгенерированным паролем.
protected void PasswordGenerator_Click(object sender, EventArgs e)
{
int length = 6;
const string valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
StringBuilder res = new StringBuilder();
Random rnd = new Random();
while (0 < length--)
{
res.Append(valid[rnd.Next(valid.Length)]);
}
((TextBox)GridView1.FindControl("txtPassword")).Text = res.ToString();
}
но я не могу получить доступ к нему из кода C#. поэтому я ищу, и я обнаружил, что мне нужно делать с findcontrol(), но он все еще не работает.
, пожалуйста, помогите :)
спасибо!
Если вы просто положить txtPassword, делает шоу что-то Intellisense? – Ian
нет, его не показывать. и причина в том, что txtPassword находится под тегом Gridview. – Eitanmg
Если это в gridView и имя идентификатора указано, то findControl должен вернуть элемент управления. Но это не так. Я не могу не подозревать, что элемент управления на самом деле не находится в gridview, или если он есть, у него другое имя. Возможно, вы можете проверить элементы управления, которые GridView имеет, проверив Property «Элементы управления» GridView. Вы могли видеть, какие элементы управления есть у GridView ... – Ian