2013-04-15 1 views
0

Я ввел html div, содержащий кнопку и javascript в виджет Ektron на кнопку click.But, когда я нажимаю кнопку с расширением, функция javascript не вызывается. Если я вставляю скрипт в Page_Load от виджета Ektron функция java script отлично работает.Динамический инъецированный java-скрипт не работает в виджете Ektron

Пожалуйста, проверьте это.

Default.ascx.cs

public partial class Workarea_Widgets_test : WorkareaWidgetBaseControl, IWidget 
     { 
     protected void Page_Load(object sender, EventArgs e) 
      { 

      } 
     protected void Button1_Click(object sender, EventArgs e) 
      { 
      HtmlDiv.InnerHtml = "<div id='divid'>Name :<input type='button' 
      id='Name' name='Name' value='Injected Button' onclick='return test();'/> 
      </div><script type='text/javascript' >function test() 
      {alert('test passed!');} </script>"; 

      HtmlDiv.Style.Add("display", "block"); 
      } 
     } 

Default.ascx

<div id="Div1" runat="server" class="HtmlDiv" style="display:block" > 
     <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
    </div> 
    <div id="HtmlDiv" runat="server"> 
    </div> 

Если я Инжектируйте HTML вместе с JavaScript в загрузке страницы виджета Код JavaScript функция working.If она находится в нажатие кнопки не работает.

Я попробовал этот код с страницей ASPX и работает нормально ....

Есть ли какая-либо зависимость существует Ektron Widget.

Любой ответьте.

ответ

0

Есть ли причина, по которой вы не просто сделали бы всю эту клиентскую сторону (JavaScript)?

Чтобы ответить на ваш вопрос, виджет Ektron - это просто пользовательский элемент управления ASP.NET. Вы должны управлять состоянием для веб-пользовательских элементов управления, то есть когда вы устанавливаете свойства управления HtmlDiv в post back, вы несете ответственность за сохранение этих значений.

См Microsoft, ASP.NET State Management Recommendations для получения дополнительной информации, однако ваши варианты состояния включают в себя:

  • Просмотр состояния
  • государственного управления
  • Скрытые поля
  • Печенье
  • строки запроса

В этом случае e Государство или государство контроля будут наиболее вероятными кандидатами для вас.

Опять же, я бы поставил под вопрос, почему вам нужно сделать эту серверную сторону.

+0

Согласен с вашим предложением. Вообще говоря, писать HTML или JavaScript для вывода из кода - это практика, которую лучше всего избегать. – egandalf