Я чувствую, что мне не хватает чего-то очевидного здесь, но я просто не понимаю. У меня есть gridview с столбцом поля шаблона, где у меня есть кнопка и скрытое поле. Я пытаюсь получить ссылку как на кнопку, так и на скрытое поле в строке databound, так как ярлык кнопки и commandargument и т. Д. Изменяются в зависимости от других данных строки.Ссылка на ссылку GridView на rowdatabound
Если я поместил точку останова в область, указанную в приведенном ниже коде, я вижу, что скрытое поле назначается правильно, но кнопка отсутствует. Что мне здесь не хватает?
GridView.aspx
<asp:GridView ID="gvCurrentQueueStatus" runat="server" AutoGenerateColumns="False"
OnRowDataBound="gvCurrentQueueStatus_RowDataBound">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Service Controls">
<ItemTemplate>
<asp:Button ID="btnSubmitCommand" runat="server" Text="Control" OnClick="btnSubmitCommand_Click" />
<asp:HiddenField ID="hdnQueueNumber" runat="server" Value='<%# Eval("ReportQueueNumber") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
GridView.aspx.cs
protected void gvCurrentQueueStatus_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button controlButton = (Button)e.Row.FindControl("btnSubmitCommand"); // FindControl fails
HiddenField hdnQueueNumber = (HiddenField)e.Row.FindControl("hdnQueueNumber"); // FindControl succeeds
// Other stuff
} // breakpoint here, successfully finds htnQueueNumber, but not btnSubmitCommand
}
сделать поиск Google, но в то же время это должно помочь вам точку в правильном направлении .. также e.Row.FindControl должен быть '(кнопка) .GridView.row.FindControl («ваш контроль, чтобы найти») ' http://stackoverflow.com/questions/9915086/how-can-i-get-the-value-of-hidden-field-in-grid -view – MethodMan
@DJKRAZE GridView.row недействителен в этом контексте, поэтому я не уверен, как это будет работать. Кроме того, в этой связанной статье есть эквивалентный ответ для hiddenField (который, как я сказал в моем вопросе, у меня работает), но по какой-то причине он не работает для кнопки. – Kritner