FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
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); 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 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? |
||
![]() |
![]() |
|
|