Member 12991079 Ответов: 1

Как вызвать модальное всплывающее окно с контроллера, не делая AJAX-вызов от клиента в стороне ASP.NET в MVC.


я ищу код для вызова модального всплывающего окна из кода позади, как мы это делаем в asp.net

Что я уже пробовал:

я ищу код для вызова модального всплывающего окна из кода позади, как мы это делаем в asp.net

Karthik_Mahalingam

Это невозможно.

1 Ответов

Рейтинг:
9

F-ES Sitecore

Вам нужно время, чтобы понять архитектуру веб-приложений. Вы не можете вызвать код javascript из своего кода, даже если веб-формы сделали его похожим на то, что вы делали. С точки зрения MVC у вас нет никакого взаимодействия с клиентом через контроллер, все это делается в представлении.

Таким образом, у вас будет свойство на вашей модели, например

public class TestModel
{
    public bool ShowDialog { get; set; }
}


В вашем контроллере вы бы установили, что это правда, основываясь на ваших соответствующих условиях

public ActionResult Test()
{
    TestModel model = new TestModel();

    if (someCondition)
    {
        model.ShowDialog = true;
    }

    return View(model);
}


Тогда, по вашему мнению, вы бы показали модальное значение, если эта переменная истинна, поэтому здесь я использую плагин "dialog" jQuery UI

<script type="text/javascript">
    function show() {
        $("#dialog").dialog();
    }
</script>

@if (Model.ShowDialog)
{
    <div id="dialog" title="Test dialog">
        <p>Hello world</p>
    </div>

    <script>show();</script>
}


Karthik_Mahalingam

5