Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 20:09 06.06.24 
Компютри и Интернет
   >> .NET
Всички теми Следваща тема *Кратък преглед

Тема Стартиране на C# код от javascriptнови  
АвторVeso (Нерегистриран)
Публикувано10.05.05 14:53



Имам следният проблем: Трябва да направя някои проверки с С# код в ASP.NET страница при изход от нея - клик в/у линк, клик в/у бутона back, изход от браузъра и т.н. До момента установих, че само(?) javascript събитието
window.onbeforeunload хваща всички тези варианти.
Въпроса ми е има ли начин от javascript да изпълня ф-я с С# код в ASPX страницата ?



Тема Re: Стартиране на C# код от javascriptнови [re: Veso]  
Автор Survivor (X)
Публикувано10.05.05 15:10



Специално за натискане на линк има едно нещо, наречено LinkButton. То прави ресъбмит и в неговия Click евент можеш да правиш каквото си щеш.
За останалото по принцип има начин, - ако скрипта ресъбмитва страницата (нещо като this.form(0).submit() ), като преди това можеш да нагласиш някакви hidden полета или и аз не знам какво.Освен това Page класа има едно събитие Unload, което също би ти свършило работа. Хайде да не питам обаче за какво ти трябва да проверяваш каквото и да било при затваряне на прозореца. Намирисва ми на досаждащ попъп или някаква гавра с юзъра.

но след безсънни дълги нощи станах силен и голям
и вече знам, че мога да се справя сам


Тема Re: Стартиране на C# код от javascript [re: Survivor]  
АвторVeso (Нерегистриран)
Публикувано10.05.05 15:27



Unload() на страницата не прихваща всички тия случаи. Пробвах да прихвана събитията от Global.asax но не става и с тях. Формата ми няма submit button или нещо такова за което да се закача. Случая е по тривиален - страница за поръчки на стоки.



Тема Re: Стартиране на C# код от javascriptнови [re: Veso]  
Автор Blandings Castle (Emsworth)
Публикувано10.05.05 17:13



Може да използваш callback - в сегашната версия на .NET framework-а го няма вградено(има го във версия 2.), но мжеш да си го заобиколиш по следния начин:
Слагаш си във aspx-a следния скрипт:
<script>
function DoCallback(params)
{
var pageUrl = "ИМЕТО_НА_ТВОЯТА_ФОРМА.aspx" + "?callback=true¶m=" + params;
var xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
xmlRequest.open("GET", pageUrl, false);
xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send(null);
return xmlRequest;
}
function closeIt()
{
DoCallback();

}
</script>

Въпросната фунцкия closeIt() я слагаш във бодито
<body MS_POSITIONING="FlowLayout" bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0" style="overflow: auto;"
onbeforeunload="closeIt()">

Това което си подал във нея - (частта след въпросителната) ти се появява във queryString-a на формата: така че може във Page_Load() да си правиш една проверка дали
Request.QueryString["callback"] != null и ако не е си го обработваш - може да си слагаш и допълнителни параметри.
нещо от типа:
private void Page_Load(object sender, System.EventArgs e)
{
if(Request.QueryString["callback"] != null)
{
ПРАВИШ_КАКВОТО_ПРАВИШ - това ти е все едно допълнителен event
return;
}
if(!IsPostBack) ----оттук нататък стандартната технология.
.........



Тема Re: Стартиране на C# код от javascriptнови [re: Blandings Castle]  
АвторVeso (Нерегистриран)
Публикувано11.05.05 08:31



Благодаря ! Ще пробвам и ще пиша за резултата.



Тема Re: Стартиране на C# код от javascriptнови [re: Blandings Castle]  
АвторVeso (Нерегистриран)
Публикувано11.05.05 14:03



В клуба за Веб дизайн и HТМЛ получих вариант на това което си отговорил, но не толкова MS насочено -






Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.