Реализация JavaScript в коде C # позади - PullRequest
0 голосов
/ 29 января 2010

Утро всем.

У меня в коде следующий javascript

     <script  type="text/javascript" src="~/VDSReporting/jquery.js"></script> <script type="text/javascript">

    function ShowImage() {
        document.getElementById('tbxProdAC') 
      .style.backgroundImage = 'url(/images/vds/progress.gif)';

        document.getElementById('tbxProdAC')
                    .style.backgroundRepeat = 'no-repeat';

        document.getElementById('tbxProdAC')
                    .style.backgroundPosition = 'right';
    }

    function HideImage() {
        document.getElementById('tbxProdAC')
                      .style.backgroundImage = 'none';
    } 

</script>

Как мне "преобразовать" это и оставить его только в коде c #?

Пожалуйста, извините за мое невежество, я здесь совершенно не в себе!

Ответы [ 2 ]

5 голосов
/ 29 января 2010

Если это изображение прогресса, которое вы показываете (кажется, по имени изображения), то зачем вам эта сторона сервера? Это будет своего рода победить всю цель изображения прогресса. Это похоже на то, что оно принадлежит клиенту, поэтому держите его там.

Обновление

Вам не нужно использовать код для рендеринга скрипта только для получения идентификаторов клиента. Вы можете сделать что-то вроде этого:

function ShowImage() {
    document.getElementById('<%=tbxProdAC.ClientID%>') 
  .style.backgroundImage = 'url(/images/vds/progress.gif)';

    document.getElementById('<%=tbxProdAC.ClientID%>')
                .style.backgroundRepeat = 'no-repeat';

    document.getElementById('<%=tbxProdAC.ClientID%>')
                .style.backgroundPosition = 'right';
}

function HideImage() {
    document.getElementById('<%=tbxProdAC.ClientID%>')
                  .style.backgroundImage = 'none';
} 

Здесь я использую <%=tbxProdAC.ClientID%>, чтобы получить идентификатор элемента управления. Это намного удобнее для чтения, чем использование кода для рендеринга скрипта.

0 голосов
/ 29 января 2010

Мне нужен javascript для запуска со стороны сервера, и это сработало для меня -

if (!this.ClientScript.IsStartupScriptRegistered("StartDown"))
{
     string scriptString = @"alert(""some javascript"");location.href='MyPage.aspx';";
     this.ClientScript.RegisterStartupScript(Page.GetType(), "StartDown", scriptString, true);
} 

Надеюсь, это поможет ..

...