![]() |
Tjenare!
Har en profilmeny för varje användare där länken är i detta format: Profile.aspx?Id=584. Profilmenyn är uppbyggd av jQuery.tabs() och varje gång man klickar på en flik så körs en jQuery.ajax-GET mot en Generic Handler (*.ashx) som hämtar en användarkontroll och konverterar denna till en String som jag sedan addera i flikens content-<div>. Detta gör jag med följande kod: Kod:
string userControl = context.Request.QueryString["userControl"].ToString(); Kod:
public static string ControlAsString(string ucPath) { <form id="ProfileForm" onsubmit="javascript:return WebForm_OnSubmit();" action="/GenericHandlers/ProfileMenu.ashx" method="post" name="ProfileForm"> ... vilket betyder att varje gång det sker en knapptryckning eller nåt likande så skickas man till <form>-taggens Action-attribut då den skapas i min Generic Handler (ProfileMenu.ashx). Jag har försökt att programmatiskt sätta form.Action = "Profile.aspx?Id=584"; i ControlToString(), då postas man till rätt adress men knappen/dropdownlist eller nåt annat som har ett Event av nåt slag körs aldrig. Någon som upplevt detta tidigare? Har ni nåt förslag på lösning? |
Hej,
Jag har svårt att utläsa vad du är ute efter. Men om dina användarkontroller endast renderar innehåll och inte behöver ha några events så fungerar följande (i mina enkla tester). Jag har utgått ifrån att allting ligger i någon form av övergripande form-tagg (som normalt är i asp.net). Dvs, det verkar överflödigt att bygga upp en sida för varje kontroll på serversidan istället för att bara rendera innehållet. Om jag missförstått så får du gärna förtydliga. Kod:
<%@ WebHandler Language="C#" Class="Handler" %> |
Laddar du in en användarkontroll med serverkontroller så krävs det en <form>-tagg runt, annars kastar den ett felmeddelande.
Det är just eventen som inte triggas. Event har jag ju till varje t.ex. asp:Button. Problemet är som sagt att den postar till form-taggens Action-attribut som är fel, och eventet körs aldrig, vad krävs för att eventet ska köras som vanligt och att action-attributet ska ha det värde som gör att allt fungerar? |
Misstänkte att det var det du var ute efter. Är det den här artikeln du har utgått ifrån, som i sin tur pekar på den här artikeln.
Titta igenom deras kodexempel. Det där med action-attributet är en riktig pain när det gäller asp.net, särskilt i kombination med urlrewriting. Vet inte hur många timmar jag bråkat med det. |
Citat:
Löste du det då? |
Citat:
Men jag fattar inte riktigt, får du inte dubbla form-taggar? Har inte jobbat med att rendera på det sättet. Tittade du igenom exemplen? Gav de ingen hjälp? Testat forumen på asp.net? |
Jo det blir ju dubbla form-taggar, men i.o.m. att de laddas in asynkront måste detta ske.
Nej, de skiljer inte sig mycket från min kod. Ja det har jag, inväntar svar därifrån. Vad för ControlAdapter? |
Citat:
|
Laddade hem detta kodexemplet för att studera koden:
http://www.scottgu.com/blogposts/url...ttpModule1.zip Han använder ju bara HttpContext.Current.Request.RawUrl, har testat det också men då postar den ju till min generic handler. Kan du visa ett litet exempel på din kod då? Hade uppskattats som fan, har slitit med detta i två dagar nu :) |
Jag läser också rawurl.
Men du, varför strippar du inte bara bort form-taggen från din renderade control? Och jag undrar också, om du renderar en control och puttar in den asyncront. Hur vet ramverket att den ska köra codebehind för den koden i den kontrollen. Kontrollen fanns inte med i control-collection från första början?? Det är antagligen därför som dina events inte körs när du bygger om action-attributet. Så för att få det att fungera måste du posta med vilka kontroller som är tillagda asyncront, lägga till dem tidigt i sidans levnad för att den sen ska kunna fungera vid postback. Lite grann som att lägga till (web)kontroller dynamiskt. Bara en tanke... Vad har du utgått från för exempel för att (försöka) få detta att lira? |
Alla tider är GMT +2. Klockan är nu 15:17. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson