Поймать и сообщить об ошибке при редактировании строки сетки - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь отловить ошибки и отобразить их в виде таблицы, но у меня возникли проблемы.Вот мой код.

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...