Добавить упакованный javascript на страницу из серверного элемента управления ASP.NET? - PullRequest
0 голосов
/ 29 июня 2009

Можно ли создать серверный элемент управления ASP.NET, который упаковывает некоторый JavaScript, который будет передаваться на страницу aspx во время разработки, а не во время выполнения? Я пытаюсь создать элемент управления, который будет иметь «по умолчанию» JavaScript. Я могу добавить jvascript с помощью RegisterClientScriptBlock, но тогда веб-разработчик не сможет изменить javascript - он недоступен во время разработки в этом случае. Есть ли способ изменить свойства ToolBox, чтобы, когда веб-разработчик перетаскивал элемент управления на страницу, JavaScript также добавлялся в отдельный тег script?

1 Ответ

0 голосов
/ 29 июня 2009

Когда мне нужно сделать это, я создаю свойство для элемента управления, которое будет вставлять теги, а затем веб-разработчик создает тег asp: literal, у которого нет видимости none и viewstate отключен, который имеет все необходимые им JS.

затем в коде страницы они вставляют текст литерала в свойства серверных элементов управления.

<asp:Literal ID="Literal_HtmlHeader" runat="server" Visible="false" EnableViewState="false">
<script></script>
<style></style>
</asp:Literal>

возможно, есть лучшие способы ... но это просто и эффективно для меня.

protected void Page_Load(object sender, EventArgs e)
{

   if (!String.IsNullOrEmpty(this.Literal_HtmlHeader.Text.Trim()))
   {
       //inject css and js into header.
       Page.Header.Controls.Add(new LiteralControl(this.Literal_HtmlHeader.Text));

       // or add to your control cause it knows how to add the tags so there is no   duplication.
       ServerControl c = new ServerControl();
       c.HtmlHeaderCode = this.Literal_HtmlHeader.Text.Trim();
   }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...