Я пытаюсь отловить ошибки и отобразить их в виде таблицы, но у меня возникли проблемы.Вот мой код.
protected void OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = gvDailyGPS.Rows[e.RowIndex];
TextBox txtEditTime = row.FindControl("txtEditTime") as TextBox;
DropDownList ddlEventDateOnly = row.FindControl("ddlEventDateOnly") as DropDownList;
DateTime EDT = DateTime.Parse(ddlEventDateOnly.SelectedValue);
try
{
EDT = DateTime.Parse(ddlEventDateOnly.SelectedValue + " " + txtEditTime.Text);
}
catch (Exception)
{
Label lblErr = row.FindControl("lblErr") as Label;
lblErr.Text = "There was an error with Date or Time";
gvDailyGPS.EditIndex = -1;
BindGrid();
}
Я перепробовал много разных методов и добавил тэг lblErr как для редактирования, так и для шаблона элементов, но безрезультатно.Как мне вернуться в режим редактирования, добавить текст в lblErr и показать его?Вот мой осел:
<ItemTemplate>
<asp:Label ID="lblEventTime" runat="server" Text='<%# Bind("EventDateTime") %>'></asp:Label>
<br />
<asp:Label ID="lblErr" runat="server" Font-Bold="True" ForeColor="Red" Text=""></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:Label ID="lblThisEventDate" runat="server" Text='<%# Bind("EventDateTime", "{0:M/dd/yyyy}") %>' Visible="false"></asp:Label>
<asp:DropDownList ID="ddlEventDateOnly" runat="server" />
<asp:TextBox ID="txtEditTime" Text='<%# Bind("EventDateTime", "{0:hh:mm tt}") %>' Width="95px" runat="server" />
<asp:Label ID="lblErr" runat="server" Font-Bold="True" ForeColor="Red" Text=""></asp:Label>
</EditItemTemplate>