Передать значение выражения в функцию JavaScript - PullRequest
0 голосов
/ 26 марта 2012

У меня есть следующий код, здесь CssClass имеет тип String.

<asp:Panel ID="Panel1" runat="server" title="<%# Title %>" class="<%# CssClass %>">
<asp:Panel ID="Panel2" runat="server" Style="padding-top: 20px; color: Red">
    Invalid Credential
</asp:Panel>
<asp:Panel ID="Panel3" runat="server" Style="text-align: center; padding-top: 50px;">
    <telerik:RadButton ID="LoginFaild" runat="server" Text="Ok" Font-Size="14px" Width="100px"
        OnClientClicked='<%# "function(button, args){closeDialog(" + CssClass + ");}" %>' />
</asp:Panel>

Теперь я хочу передать это строковое значение в функцию JavaScript closeDialog(), которая:

var closeDialog = function (className) {    
    $("." + className).dialog("close");
}

Когда я нажимаю на кнопку, я получаю

loginError не определен

на панели инструментов моего веб-разработчика Firefox.

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 26 марта 2012

Предполагая, что CssClass установлен в c #, вам не нужно указывать встроенное свойство CssClass в конструкторе диалогового окна закрытия. Измените функцию closeDialog на:

var closeDialog = function () {    
    $("." + <%= CssClass %>).dialog("close");
}

Тогда ваше событие OnClientClicked можно переписать как:

OnClientClicked="function(button, args){ closeDialog(); };" or OnClientClicked="closeDialog();"

EDIT:

Скрипт вверху страницы

var cssClass = '<%= CssClass %>';

Функция закрытия диалога

var closeDialog = function () {    
    $("." + cssClass).dialog("close");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...