использовать JavaScript из встроенного ресурса пользовательского элемента управления на странице - PullRequest
1 голос
/ 20 марта 2012

У меня есть пользовательский серверный элемент управления , который отображает некоторый HTML-код на странице aspx, которую он добавил.

    protected override void RenderContents(HtmlTextWriter output)
    {
        Text = GetHTMLContent();

        output.Write(Text);
    }

GetHTMLContent () переустанавливает некоторый HTML, скажем

<div id="panel" onMouseOver="hide"><table><tr><td>Something Here</td></tr></table></div>

И у меня есть файл JavaScript, который является встроенным ресурсом в этом серверном элементе управления. Этот файл JavaScript содержит функцию, скажем,

    function hide(){
         document.getElementById("panel").visible = false;
    }

Я добавляю пользовательский элемент управления на странице aspx, как это

<cc1:CControl ID="Div" runat="server"></cc1:CControl>

теперь, когда я открываю в браузере, содержимое HTML отображается нормально, но JavaScript должен работать.

У меня вопрос, как мы можем заставить функцию, которая находится в файле javascript, встроенном в пользовательский элемент управления, работать на странице aspx, куда будет загружен пользовательский элемент управления?

Спасибо

Ответы [ 2 ]

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

Есть несколько способов.Сначала может быть свойство OnClientHide="hide", где это свойство определяет имя метода для вызова в качестве обратного вызова.Ваш элемент управления может передать это обработчику событий клиента onmouseover во время рендеринга.

Или: ваш элемент управления должен записать JavaScript в браузер, например: http://msdn.microsoft.com/en-us/library/z9h4dk8y.aspx

РЕДАКТИРОВАТЬ

Также проверьте этот пример: http://www.karpach.com/Custom-ASP-NET-server-control-with-embedded-resources.htm

0 голосов
/ 20 марта 2012

Кроме того, что сказал Брайан Майнс, ваш javascript для сокрытия неверен.Должно быть:

function hide()
{
    document.getElementById("panel").style.display = "none";
    OR
    document.getElementById("panel").style.visibility = "hidden";
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...