Очистите все содержимое после предупреждающего сообщения

#asp.net #forms

Вопрос:

Новичок

У меня есть asp.net приложение У меня подключен считыватель штрих-кодов, и когда я сканирую карту в текстовое поле, она получает значение из базы данных Я карта уже существует, она покажет предупреждающее сообщение, затем я хочу, чтобы она перезагрузила или очистила всю информацию в форме, Не могу заставить ее работать мой код предупреждения выглядит так

Клиентский код.RegisterStartupScript(это.GetType(), «предупреждение», «предупреждение («Срок действия этой карты истек, пожалуйста, обратитесь за помощью к администратору»);», верно);

Это в коде позади

Ответ №1:

Вам было бы ГОРАЗДО лучше иметь какое-то отображение или информацию на веб-странице или даже рассмотреть тост, подобный сообщению.

Если вы откроете это диалоговое окно, пользователю придется отложить сканер, нажать кнопку ОК на экране, затем поднять сканер и выполнить повторное сканирование. Так что на самом деле ты не хочешь этого делать.

Я бы посоветовал вам где-нибудь разместить на экране поле «div» и сделать это:

 lt;h2gt;Ready to scan IDlt;/h2gt;   lt;asp:TextBox ID="scanBox" runat="server" Width="291px"gt;lt;/asp:TextBoxgt;   lt;div id="MyMsg" style="display:none;color:red"gt;   lt;h2gt;This card has expiredlt;/h2gt;  lt;h2gt;Please see front desklt;/h2gt;   lt;/divgt;  

ОБРАТИТЕ внимание, как мы СКРЫВАЕМ вышесказанное с помощью стиля и отображения:нет

Итак, у вас может быть это:

введите описание изображения здесь

итак, когда вы сканируете и говорите, что карта проверена и т. Д., Вы можете сделать это в своем коде

 {  // Expired code - display message.  MyMsg.Style.Add("display", "normal");  

И тогда дисплей будет выглядеть так:

введите описание изображения здесь

Итак, проблема с некоторым диалоговым окном, когда, где, как вы хотите, чтобы сообщение отображалось, и если вы представите это диалоговое окно, оно будет оставаться открытым, пока пользователь не нажмет кнопку ОК на этом окне.

Итак, вы не хотите использовать «предупреждение», так как вы не можете его закрыть. Вы, как уже отмечалось, можете захотеть использовать какое-нибудь классное сообщение «тост» или просто добавить «div» на страницу, которую вы показываете/скрываете, и, таким образом, никому не придется закрывать окно.

Комментарии:

1. Хорошо, я проверяю, действительна ли карта в коде, могу ли я добавить туда mymsg.style.add? Или это должно быть в файле aspx

2. конечно, внесите это прямо в свой код. Я использовал div, но вы можете разместить любой контент в этом div, а затем да, в коде, скрытом/показанном в соответствии с моим кодом. Это просто диалоговое окно (подтверждение) — плохая идея. Как уже отмечалось, вы можете отправить всплывающее сообщение или какое-либо диалоговое окно, которое исчезает и закрывается само по себе, или, как уже отмечалось, просто скрыть/показать содержимое сообщения внутри div, как это сделал я. но, да — этот код входит в код сзади, чтобы скрыть/показать сообщение.

3. Мог бы я сделать так еще { //ScriptManager. RegisterStartupScript(это. Страница, Страница. GetType(), «текст», «Функция()», true); // ClientScript. RegisterStartupScript(это. GetType(), «оповещение», «оповещение («Срок действия карты истек, пожалуйста, обратитесь в приемную за помощью»);», true); MyMsg.Style.Add («отображение», «обычный»); }

4. Как я могу заставить div исчезнуть через некоторое время

5. другой вопрос. Вы можете запустить функцию на стороне клиента JavaScript — и заставить ее скрыть сообщение, скажем, через 5 секунд. если вы хотите, чтобы он исчез, то вы хотите представить, скажем, jquery. Пользовательский интерфейс для этого. Вы можете начать совершенно новый вопрос. Просто опубликуйте несколько строк кода, в которых отображается div, вместе с вашим вопросом о том, как скрыть или исчезнуть через x секунд — это совсем другая концепция и другой вопрос.