Динамическое добавление метатегов на страницу

Вот подумал, а ведь неудобно доставать из head контрол, представляющий какой бы то ни было метатег,и менять его значение, а хотелось бы просто добавить разок и не париться, особенно, когда у каждой странички есть свои метатеги.

Можно метатеги добавлять динамически вот так:

HtmlMeta meta = new HtmlMeta();
meta.Name = "description";
meta.Content = "test metatags";
head.Controls.Add(meta);

Быстрое объединение javascript файлов в один при помощи ScriptManager

Страницы сайта гораздо быстрее загружаются, если уменьшить количество загружаемых файлов (не размер, а количество), размер конечно влияет, но даже если объединить яваскрипт-файлы в один файл, то страница будет загружаться быстрее, при чем значительнее, если файлов много.

Почему - точно не могу сказать, но предполагаю, что браузеры создают туеву кучу коннекшенов с сайтом, чтобы загружать все параллельно в отдельных потоках, типа так быстрее, таким образом: уменьшая количество загружаемых файлов мы уменьшаем количество коннешенов для загрузки скриптов во столько раз, сколько скриптов мы объеддинили в 1, а соответственно меньший напряг на сеть и браузер, потому загрузка страниц происходит быстрее.

Пример подцепления скриптов на ScriptManager

19 <asp:ScriptManager ID="ScriptManager1" runat="server" EnableViewState="true" EnableScriptGlobalization="false" ScriptMode="Release" CompositeScript-ScriptMode="Release">

20 <CompositeScript>

21 <Scripts>

22 <asp:ScriptReference Path="~/Scripts/script.js" />

23 <asp:ScriptReference Path="~/Scripts/shadowbox.js" />

24 <asp:ScriptReference Path="~/Scripts/languages/shadowbox-ru.js" />

25 <asp:ScriptReference Path="~/Scripts/libraries/sizzle/sizzle.js" />

26 <asp:ScriptReference Path="~/Scripts/players/shadowbox-html.js" />

27 <asp:ScriptReference Path="~/Scripts/players/shadowbox-img.js" />

28 <asp:ScriptReference Path="~/Scripts/players/shadowbox-iframe.js" />

29 <asp:ScriptReference Path="~/Scripts/libraries/swfobject/swfobject.js" />

30 </Scripts>

31 </CompositeScript>

32 </asp:ScriptManager>

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

31 public void AddScript(string scriptFile)

32 {

33 ScriptManager1.CompositeScript.Scripts.Add(new ScriptReference() { Path = "~" + scriptFile });

34 }


Не стоит заботиться о дубликатах (например 2 контрола страницы возьмут и добавят один и тото же скрипт на страницу), ScriptManager подгружает скрипты 1 раз.
Думаю резонно все яваскрипты выносить в js файлы, а на страницах/контролах уже добавлять эти яваскрипты вот так:

33 ScriptManager.GetCurrent(Page).CompositeScript.Scripts.Add(new ScriptReference() { Path = "~" + scriptFile });

Это реально помогает, если на сайте много яваскриптов, так на своем проекте я снизил скорость загрузки яваскриптов с 7-ми до 1.02 секунд (проверяю в файрбаге)

Как сохранить элементы DropDownList на DataBind()

Все просто - установить в true св-во AppendDataBoundItems, вот пример:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

2

3 <html>

4 <head runat="server"></head>

5 <body>

6

7 <script runat="server">

8 protected void Page_Load(object sender, EventArgs e)

9 {

10 if (!IsPostBack)

11 {

12 ddl.DataSource = new string[] { "1", "2", "3", "4" };

13 ddl.DataBind();

14 }

15 }

16 </script>

17

18 <form id="form1" runat="server">

19

20 <asp:DropDownList runat="server" AppendDataBoundItems="true" ID="ddl" AutoPostBack="true">

21 <asp:ListItem>выберите число</asp:ListItem>

22 </asp:DropDownList>

23

24 </form>

25

26 </body>

27 </html>s

Конвертирование VB в C# / Convert VB to C#

Довольно часто лазаю по msdn и иным ресурсам в поисках какого нить мана, и, к великому сожалению, бывает что код представлен только на Visual Basic (VB). прочесть конечно можно, но иной раз тупо не понятны конструкции или код слишком велик, чтобы сидеть и разбирать его на чужом языке. Поэтому погуглив наткнулся на страничку сайта http://www.developerfusion.com/tools/convert/vb-to-csharp/ где можно конвертить код VB в C#

А если понадобится скачать проект на VB и конвертнуть его в C#, то советую бесплатную студию SharpDevelop, весит менее 20 мб, языки: c#, vb, f#, boo и умеет конвертить код в тот или иной язык!