Динамически внедренный Java-скрипт не работает в виджете Ektron

Я вставил html div содержит кнопку и javascript в виджет Ektron при нажатии кнопки. Но когда я нажимаю кнопку injeted, функция javascript не вызывается. Если я внедряю скрипт в виджет Page_Load Ektron, функция сценария java вызывается отлично.

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

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 работает. Если она нажата при нажатии кнопки, она не работает.

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

Существуют ли какие-либо зависимости для Ektron Widget.

Кто-нибудь, пожалуйста, ответьте.

1 ответ

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

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

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

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

В этом случае View State или Control State будут наиболее вероятными кандидатами для вас.

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

Другие вопросы по тегам