На обратной передаче, как я могу добавить сообщение об ошибке к сводке проверки?

Вы получаете там. У вас есть несколько проблем:

  1. Вы определяете arr в addToFavourites, поэтому каждый раз, когда он вызывается, создается новый arr, который доступен только внутри этой функции. По сути, вы создаете массив, добавляете элемент, а затем он выбрасывается в мусор.

    Поскольку ваш MovieRow представляет один фильм, вам нужно иметь компонент-обертку, который поддерживает arr как часть своего состояния. Вы также определите здесь addToFavourites и затем передадите это каждому компоненту MovieRow, убедившись, что передали хотя бы идентификатор фильма, чтобы вы знали, какой фильм добавить в избранное

  2. I ' я не уверен, что movieRow в addToFoving делает, потому что вы назначаете его, а затем никогда не используете его. По сути, здесь вы впервые определяете movieRow для объекта глобального окна, а затем переназначаете его при каждом нажатии. Это кажется ненужным.

  3. Вы также захотите переместить pickRandom в родительский компонент, который поддерживает ваш список избранного.

Надеюсь, это заставит вас двигаться в правильном направлении. Дайте мне знать, если у вас есть вопросы

57
задан TStamper 22 April 2009 в 15:57
поделиться

2 ответа

Добавить пользовательский валидатор и вручную установить его IsValid и ErrorMessage свойства. Примерно так:

<asp:panel ID="ErrorsPanel" runat="server" CssClass="ErrorSummary">
    <asp:CustomValidator id="CustomValidator1" runat="server" 
        Display="None" EnableClientScript="False"></asp:CustomValidator>
    <asp:ValidationSummary id="ErrorSummary" runat="server" 
        HeaderText="Errors occurred:"></asp:ValidationSummary>
</asp:panel>

В коде:

//
// Update the database with the changes
//
string ErrorDetails;
if (!Db.Update(out ErrorDetails))
{
    CustomValidator1.IsValid = false;
    CustomValidator1.ErrorMessage = ErrorDetails;
}
48
ответ дан 24 November 2019 в 19:23
поделиться

Чтобы добавить сообщение об ошибке в сводку проверки, вы можете использовать свойство EnableClientScript ValidationSummary и другие элементы управления проверкой. Установите для параметра EnableClientScript значение false для всех из них:

<asp:ValidationSummary
HeaderText="You must enter a value in the following fields :"
DisplayMode="BulletList"
EnableClientScript="false"
runat="server"/>

Для выделения элемента управления нет, это невозможно с текущими элементами управления.

Но я поставил свои элементы проверки рядом со связанными элементами управления и установил их свойство Text как «*». Затем, если проверка не пройдена, она появляется рядом с ошибочным элементом управления.

Возможно, вы можете использовать специальный валидатор, чтобы выделить неисправный элемент управления. Но вы должны написать свою собственную реализацию.

3
ответ дан 24 November 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: