Member 11573837 Ответов: 2

Как я могу использовать переменную из кода позади


Привет,

Я хочу использовать свою переменную, которая была объявлена в коде позади,

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

я использовал этот код ,

<asp:AquaButton ID="btnWorkflowMass" runat="сервер" OnClientClick='если(&ЛТ;%=bAlert %&ГТ; = "истинный"){}иначе{LoadWorkflowMass();}'
meta:resourcekey="btnWorkflowMassResource1" >

в коде позади меня заявил балерт :
public bool bAlert;

я хочу, чтобы щека befor я называю LoadWorkflowMass() methode.

и у меня есть ошибка synthaxe.

2 Ответов

Рейтинг:
2

ZurdoDev

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

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

Итак, поместите скрытое поле на страницу, установите его значение в C#, а затем измените свой OnClientClick на вызов функции JavaScript. В функции получите значение вашего скрытого поля, а затем сделайте то, что вам нужно сделать.

Это все основные веб-вещи.


Рейтинг:
1

Vincent Maverick Durano

Ваш syntax это действительно было неверно. Вы должны сделать это вот так:

OnClientClick="if('<%= bAlert%>'){alert('true');}else{LoadWorkflowMass();}return false;"


Хотя это работает, я бы все же рекомендовал вам поместить свою логику в JavaScript функция, чтобы вы могли легко читать и отлаживать их. Например:

<head runat="server">
    <title></title>
    <script type="text/javascript">
        function isValid() {
            var result = '<%= bAlert%>';
            if (result) {
                alert('true');
            }
            else {
                LoadWorkflowMass();
            } 
            return false;
        }
    </script>
</head>


Тогда вы просто вызываете function наверху вот так:

OnClientClick="isValid();"