Kom ihåg mig?
Home Menu

Menu


Ladda in UserControl med HtmlForm med jQuery

 
Ämnesverktyg Visningsalternativ
Oläst 2009-06-21, 13:00 #1
peterbf peterbf är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 48
peterbf peterbf är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 48
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();
  
          string fullPath = path + userControl + ext;
  
          string userControlOutput = [I]UserControlUtilities.ControlAsString(fullPath);[/I]
  
          context.Response.Write(userControlOutput);
Om man har serverkontroller vilket jag givetvis har i mina användarkontroller så krävs det en <form>-tagg runt dessa när de laddas in dynamiskt som i mitt fall. Denna skapar jag programmatiskt i min UserControlUtilities.ControlToString()-metod som ser ut som följer:
Kod:
   public static string ControlAsString(string ucPath) {
  
        Page page = new Page();
        page.EnableViewState = false;
        UserControl userControl = page.LoadControl(ucPath) as UserControl;
  
        HtmlForm form = new HtmlForm();
  
        form.ID = "ProfileForm";
        
        form.Controls.Add(userControl);
 
        page.Controls.Add(form);
  
        StringWriter writer = new StringWriter();
  
        HttpContext.Current.Server.Execute(page, writer, true);
  
        return writer.ToString();
      }
<form>-taggen renderas såhär i Html-koden...
<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?
peterbf är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017