Я не могу найти элемент управления текстовым полем в gridview. А ниже код всегда возвращается NULLНевозможно найти элемент управления TextBox в ItemTemplate
HTML:
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn1
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill1" runat="server" Text='<%# Eval("Skill1_value") %>'
CssClass="tms-secondaryRowTextBoxNew" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
Вся размечать:
<asp:GridView ID="gvLocView" runat="server" AutoGenerateColumns="False" CellPadding="0"
Width="100%" BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px"
EmptyDataText="No Data Available"
onrowdatabound="gvLocView_RowDataBound">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td align="center">
  
</td>
</tr>
<tr>
<td align="center">
Location
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 50%">
<asp:Label ID="lblLocation" runat="server" Text='<%# Eval("Location") %>' CssClass="tms-secondaryRowTextBoxNew" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="14%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
Quarter
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 100%">
<asp:Label ID="lblQuarter" runat="server" Text='<%# Eval("Quarter") %>' CssClass="tms-secondaryRowTextBoxNew" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="13%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn1
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill1" runat="server" Text='<%# Eval("Skill1_value") %>'
CssClass="tms-secondaryRowTextBoxNew" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField> <HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn2
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill2" runat="server" Text='<%# Eval("Skill2_value") %>'
CssClass="tms-secondaryRowTextBox" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn3
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill3" runat="server" Text='<%# Eval("Skill3_value") %>'
CssClass="tms-secondaryRowTextBox" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn4
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill4" runat="server" Text='<%# Eval("Skill4_value") %>'
CssClass="tms-secondaryRowTextBox" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn5
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill5" runat="server" Text='<%# Eval("Skill5_value") %>'
CssClass="tms-secondaryRowTextBox" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
SkillColumn6
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 25%">
<asp:TextBox ID="txt_Skill6" runat="server" Text='<%# Eval("Others") %>'
CssClass="tms-secondaryRowTextBox" Width="35%" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table cellpadding="0" cellspacing="0" style="padding-left: 0px; padding-right: 0px;
margin-left: 0px">
<tr>
<td>
  
</td>
</tr>
<tr>
<td align="center">
Total
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" style="width: 100%">
<tr style="width: 100%">
<td style="width: 100%">
<asp:Label ID="lblTotal" runat="server" Text='<%# Eval("Total") %>' CssClass="tms-secondaryRowTextBoxNew" />
</td>
</tr>
</table>
</ItemTemplate>
<HeaderStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" Width="9%" />
<ItemStyle BorderColor="#013963" BorderStyle="Solid" BorderWidth="1px" />
</asp:TemplateField>
</Columns>
<EditRowStyle CssClass="tms-primaryRow_new" />
<HeaderStyle Font-Bold="True" ForeColor="White" CssClass="tms-gridViewHeader_fy11"
HorizontalAlign="Center" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
</asp:GridView>
Codebehind:
if (e.Row.RowType == DataControlRowType.Header)
{
int counter=0;
for (int j = 1,col=2; j <= 7; j++,col++)
{
TextBox t = (TextBox)e.Row.Cells[col].FindControl("txt_Skill" + j.ToString());
if (t != null)
{
t = e.Row.FindControl("txt_Skill" + j.ToString()) as TextBox;
if (!string.IsNullOrEmpty(strSkillArray[counter]))
t.Text = strSkillArray[counter].ToString();
}
}
}
Исключение:
System.Web.HttpException было необработанным кодом пользователя
Message = "DataBinding: 'System.Data.DataRowView' не содержит свойства с именем 'Skill1_value'." Source = "System.Web"
ErrorCode = -2147467259 StackTrace: в System.Web.UI.DataBinder.GetPropertyValue (контейнер объекта, имя_программы) в System.Web.UI.DataBinder.Eval (контейнер объекта, строка [ ] expressionParts) в System.Web.UI.DataBinder.Eval (контейнер объекта, выражение String) в System.Web.UI.TemplateControl.Eval (выражение String) на ASP.location_aspx._ DataBinding отправитель _control53 (Объект , EventArgs e) в d: \ ABC \ Location.aspx: строка 251 в System.Web.UI.Control.OnDataBinding (EventArgs e) в System.Web.UI.Control.DataBind (Boolean raiseOnDataBinding) в системе. Web.UI.Control.DataBind() в System.Web.UI.Control.DataBindChildren() в System.Web.UI.Control.DataBind (Boolean raiseOnDataBinding) в System.Web.UI.Control.DataBind() в System.Web.UI.Control .DataBindChildren() в System.Web.UI.Control.DataBind (Boolean raiseOnDataBinding) в System.Web.UI.Control.DataBind() в System.Web.UI.WebControls.GridView.CreateRow (Int32 rowIndex, Int32 dataSourceIndex, DataControlRowType ROWTYPE, DataControlRowState RowState, булева DataBind, объект DataItem, DataControlField [] поля, TableRowCollection строки, PagedDataSource pagedDataSource) на System.Web.UI.WebControls.GridView.CreateChildControls (IEnumerable Datasource, булева dataBi nding) на System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding (IEnumerable данные) на System.Web.UI.WebControls.GridView.PerformDataBinding (IEnumerable данных) на System.Web.UI.WebControls.DataBoundControl. OnDataSourceViewSelectCallback (IEnumerable данные) на System.Web.UI.DataSourceView.Select (DataSourceSelectArguments аргументы, DataSourceViewSelectCallback обратного вызова) в System.Web.UI.WebControls.DataBoundControl.PerformSelect() в System.Web.UI.WebControls. BaseDataBoundControl.DataBind() в System.Web.UI.WebControls.GridView.DataBind() at Location.UpgradeAccount() в d: \ ABC \ Locat ion.aspx.cs: строка 368 в Location.Page_Load (отправитель объекта, EventArgs e) в d: \ ABC \ Location.aspx.cs: строка 70 в System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr ∥f∥p, объект О, объект т, EventArgs е) в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (отправитель объекта, EventArgs е) на System.Web.UI.Control.OnLoad (EventArgs е) в System.Web.UI.Control.LoadRecursive() в System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
Вы ищете текстовое поле в шаблоне заголовка, когда оно находится в ItemTemplate! e.Row.RowType == DataControlRowType.Header должен быть ItemTemplate – Lloyd
, если вы хотите получить ответ, вставьте полную соответствующую разметку, проверяемое событие и то, что вы пытаетесь достичь. – naveen
Я пытался назначить эти заголовки данных: Location Q Dotnet Java Mainframe Тестирование Базы данных Всего Всего – venkat