Автоматическое скрытие сообщения ViewBag в C # через 15 секунд - PullRequest
0 голосов
/ 23 октября 2018

Я показываю сообщение через ViewBag в C #, и оно отлично работает.Теперь я хочу автоматически скрывать сообщение ViewBag через 15 секунд.Как мне это сделать?

Ниже приведен мой код, где я использую ViewBag:

public ActionResult ForgetPassword(String EmailId, string message)
    {
        ViewBag.Message = message;
        ForgetPassword objForgetPassword = new ForgetPassword { EmailId = EmailId };
        return View();
    }

// Другая модель, где я передаю сообщение

 if (objResult.Status)
            {
                return RedirectToAction("Login", new { message = "Password changed Successfully. Please Login with the New Password."});
            }

Код CSHTML для того же:

@using (Html.BeginForm()) 
{
@Html.AntiForgeryToken()

<div class="form-horizontal for-pass">
    <h4><b>@ViewBag.Message</b></h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="form-group">
        @Html.LabelFor(model => model.OTP, htmlAttributes: new { @class = "control-label" })
        <div class="col-md-12">
            @Html.EditorFor(model => model.OTP, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.OTP, "", new { @class = "text-danger" })
        </div>
    </div>

Ответы [ 4 ]

0 голосов
/ 23 октября 2018

Вы можете использовать функцию javascript setTimeout , чтобы запустить код для скрытия сообщения с помощью функции запроса fadeOut :

$(document).ready(function(){
    setTimeout(function(){
        $("#msg").fadeOut();
    }, 15000);
});

и в представлении:

<h4 id="msg"><b>@ViewBag.Message</b></h4>

вот скрипка: https://dotnetfiddle.net/3Sw1O9

0 голосов
/ 23 октября 2018

Для этого вы можете использовать функцию Javascript setTimeout () .

Присвойте метке определенный идентификатор, например ' lblMsg '

setTimeout(function(){ document.getElementById('lblMsg').style.display = "none"; }, 15000);

Или просто вы хотите удалить элемент через 15 секунд.

Используя JQuery, вы можете использовать remove () function.

setTimeout(function(){ $('#lblMsg').remove(); }, 15000);
0 голосов
/ 23 октября 2018

Вы можете использовать JS, чтобы скрыть элемент, который содержит ViewBag данные вроде этого:

setTimeout(function() { $("h4").hide(); }, 15000);

$("h4").delay(15000).fadeOut();

Или с помощью селектора CSS display: none:

setTimeout(function() { $("h4").css('display','none'); }, 15000);

Убедитесь, что h4 единственный элемент, содержащий сообщение, в противном случае используйте <div> с атрибутом id.

0 голосов
/ 23 октября 2018

Дайте идентификатор контейнеру сообщения.Затем добавьте метод document.ready, который скрывает контейнер через 15 секунд.Используйте функцию settimeout, как показано ниже:

setTimeout(function() {
        $("#successMessage").hide('blind', {}, 500)
    }, 5000);
...