Отлов нулевых значений при привязке данных - PullRequest
0 голосов
/ 24 августа 2011

У меня есть выпадающий список, который заполняется из оператора выбора SQL.Оператор select фильтрует элементы, для которых «бит» имеет значение «ложь», а элементы, которые все еще находятся в базе данных, скрыты.

Моя проблема в том, что;когда элемент отсутствует на складе или скрыт (bit = false), у пользователя могут остаться элементы, которые теперь скрыты, поэтому он выдает ошибку.Как и где я могу поймать это, показать оригинальный элемент или установить значение по умолчанию?

protected void GradeDropDownList_DataBinding (object sender, EventArgs e)
{
    var ddl = (DropDownList)(sender);
    var a = ((Label)MyDetailsView.FindControl("GradeLabelEdit")).Text;
    a = a.Trim();
    if (a != "") { ddl.SelectedValue = a; }
}

Оператор выбора;

    <asp:SqlDataSource ID="getGrade" runat="server" ConnectionString="<%$ ConnectionStrings:CasesTimeConnection %>"
    SelectCommand="SELECT [gradeID], [gradeText] FROM [user_grades] WHERE ([visibleState] = @visibleState)">
    <SelectParameters>
        <asp:Parameter DefaultValue="True" Name="visibleState" Type="Boolean" />
    </SelectParameters>
</asp:SqlDataSource>

На странице;

<EditItemTemplate>
<asp:DropDownList ID="GradeDropDownList" runat="server" DataSourceID="getGrade" DataTextField="gradeText" DataValueField="gradeID" OnDataBinding="GradeDropDownList_DataBinding" OnSelectedIndexChanged="GradeDropDownList_SelectedIndexChanged">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="gradeLabel" runat="server" Text='<%# Bind("gradeText") %>'></asp:Label>
</ItemTemplate>

1 Ответ

0 голосов
/ 24 августа 2011

Получить LastModifiedDate, извлекая записи и пытаясь обновить запись, проверяет существующее значение lastModifiedDate на полученное вами. Если они отличаются, тогда выдайте предупреждающее сообщение / отобразите новое количество.

Спасибо

Шаши

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...