помощник jquery, подобный htmlgenericcontrol в asp.net

#c# #jquery #asp.net

#c# #jquery #asp.net

Вопрос:

Я хочу создать веб-страницу, содержащую перетаскиваемые jquery в asp.net (c #). Как я могу добавить свой код jquery на свою страницу объектно-ориентированным способом?

Итак, я хочу создать класс c # myDraggables.cs, который я добавлю на страницу asp с помощью htmlgenericcontrol. Как мне добавить этот код jquery (например: $ (‘#mydraggables’).draggable(); ) в мой класс. Я мог бы сделать это с помощью htmlgenericcontrol, добавив тег «script». Но разве нет способа сделать это с помощью помощника jquery (не могу его найти)? tx

Пример: в принципе, в моем классе myDraggables я мог бы иметь;

 public HtmlControl Draw()
{
    HtmlGenericControl aDiv= new HtmlGenericControl("div");
    aDiv.Attributes.Add("id", "dragtest");
    return aDiv;
}

public HtmlControl DrawJquery()
{
    HtmlGenericControl js = new HtmlGenericControl("script");
    js.Attributes["type"] = "text/javascript";
    js.InnerHtml = "$('#dragtest').draggable();";   
    return js; 
}
  

И код, лежащий в основе моего asp.page, будет выглядеть следующим образом;

 protected void Page_Load(object sender, EventArgs e)
{
    myDraggables md = new myDraggables ('..some props ..');
    Page.Header.Controls.Add(md.DrawJquery());
    myPlaceHolder.Controls.Add(md.Draw());
}
  

Это работает, но jquery-код станет более сложным. И больше не будет доступен для чтения…
как этого можно достичь в json? Или другой, более читаемый способ?

Спасибо

Ответ №1:

Если я вас правильно понял, вы хотите написать строго типизированный .Класс NET в серверной части, который также функционирует как объект jQuery во внешней части, верно? Если это так, то лучший способ сделать это, вероятно, сериализовать ваш .Преобразуйте СЕТЕВОЙ объект в формат JSON, сохраните его в переменной и распечатайте в теге script при генерации разметки. Затем во внешнем интерфейсе преобразуйте строку JSON в объект Javascript, и вы сможете использовать ее оттуда.

Можете ли вы опубликовать какой-либо.СЕТЕВОЙ и JS-код у вас уже есть?