Возвращение вывода пользовательского элемента управления в виде HTML или строки с помощью jQuery - PullRequest
0 голосов
/ 05 декабря 2011

Этим утром я пытался понять, как обновить пользовательский элемент управления с помощью кнопки на странице с помощью jQuery.

Я написал этот вопрос

Обновить пользовательский элемент управления с помощью jQuery

Из информации, полученной из этой статьи:

http://www.codeproject.com/Articles/117475/Load-ASP-Net-User-Control-Dynamically-Using-jQuery

И отличная помощь, которую я получил после публикации этого вопроса, теперь у меня есть метод загрузки пользовательского элемента управления в виде страницы с помощью jQuery, используя преобразованный пример .VB из статьи codeproject.com.

Однако ... это не будет отображаться в браузере, Firebug выдает ошибку "элемент должен содержаться в форме runat = server tag"

Итак, я разместил этот вопрос:

https://stackoverflow.com/questions/8388627/re-better-way-to-manage-a-dynamic-select-list-using-jquery-and-user-control

Однако после публикации я подумал об этом и считаю, что класс jQueryHandler, созданный кодом codeproject, посылает браузеру полную страницу.

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

Что мне нужно сделать, так это вообще не возвращать страницу, но, я думаю, строку HTML, которую затем можно вставлять непосредственно в HTML в div при необходимости.

Есть идеи, как изменить этот код для возврата строки HTML?

(я использую asp.net 2.0 и VB)

1 Ответ

0 голосов
/ 06 декабря 2011

Обратная передача приведет к полному обновлению страницы.Так как вы хотите избежать этого, то я бы порекомендовал использовать jquery и динамически создавать параметры html и связать его с событием click

в пользовательском элементе управления, просто введите ссылку на файл js.

<script type="text/javascript" src="/userControl.js"></script>

//set the page elements that you want rendered that will exists in every location that the user control is rendered.

<div>
  //Set your layout
  .
  .
  .
  //set the container for the dynamically chaning content
  <div id="dynamicContent"></div>
  <input type="button" id="ClickMe" />
</div>

В файле скрипта вы можете сделать что-то вроде этого

$(document).Ready(function() {
  $("#ClickMe").click(GenerateContent)
});

function GenerateContent()
{
  var dynamicHTML;
  //condition == whatever conditions you are trying to validate to change the content
  if(condition)
  {
    dynamicHTML = ""; //set page specific content
  }
  $(dynamicHTML).appendTo("#dynamicContent");
}
...