Удалить сообщение из представления?

#javascript #c# #ajax

#javascript #c# #ajax

Вопрос:

Каждый раз, когда пользователь нажимает «Отменить чтение», область div должна удаляться, ниже приведены мои HTML и javascript. Что происходит на данный момент, так это то, что когда вы нажимаете непрочитанное, оно делает все в фоновом режиме, а не на экране переднего плана, я думаю, что это связано с моей строкой JavaScript $('#Unreadmessage').closest(".messagearea").remove(); пожалуйста, посоветуйте

 <div class="alert alert-default alert-dismissible messagearea" role="alert" style="background: rgb(233, 233, 233);">

<button class="close" aria-label="Close" type="button" data-dismiss="alert"><span aria-hidden="true">×</span></button>

<div id="Unreadmessage" class="markmessage" data-messageid="@message.Id">

<p class="small"><i class="fa fa-envelope" aria-hidden="true"></i> Unread</p></div>

<p class="small"><i class="fa fa-calendar" aria-hidden="true"></i> @message.CreatedOn.ToString("dd MMM yyyy")</p>
                                            <p class="small" style="font-weight: bold;"><i class="fa fa-info" aria-hidden="true"></i> Claim ref. @message.CaseNumber</p>

<p>@message.Message <a href="@Url.Action("Details","Enquiry" , new { id = @message.EnquityId })">More.</a></p>

</div>
  

Ниже мой Javascript

 $("#Unreadmessage").click(function () {
var messageId = $(this).data("messageid"); //need to pass this message ID to controller.
var isread = true; //True by default
//I need to pass the messageID to server which is CRM
$.ajax({
url: "@Url.Action("MarkMessage", "Enquiry")", //Need to add my URl here
type: "POST",
data: { messageId: messageId, isread: true }, //Get messageId and isread values
dataType: "json",
success: function (response) {
 $('#Unreadmessage').closest(".messagearea").remove();  
  }
    });
  

Ответ №1:

Если вы имеете в виду удаление содержимого так же, как нажатие x, то этого также можно достичь, просто поместив data-dismiss=»alert» в p (непрочитанный контейнер).

Чтобы удалить только непрочитанное, лучше всего будет обновить серверную часть до isread (например) при нажатии More. Затем вам нужно решить, отображать ли чтение или ничего не отображать.

 <p data-dismiss="alert" class="small"><i class="fa fa-envelope" aria-hidden="true"></i> Unread</p>