ASP.NET CustomControl - RenderControl pe o valoare de atribut

voturi
1

Aș dori să adăugați un atribut la un control personalizat pentru a extinde caracteristica ea lui.

<ns:PasswordChange 
  runat=server 
  ID=pwch 
  UserId='<%# ResidentId %>' />

În codul ..

[ToolboxData(<{0}:PasswordChange runat=server />)]
public class PasswordChange : WebControl
{
    public string UserId { get; set; }

    public override void RenderControl(HtmlTextWriter writer)
    {
      writer.Write(<script type=\text/javascript\>);
      writer.Write(script.Replace({0},***ajaxCall***));
      writer.Write(</script>);
    } 
    ......

Parametrul ajaxCall mai sus conțin rezultatul evaulated if (string.IsNullOrEmpty(this.UserId)). Această evaluare pur și simplu adăugați un ajax-URL - ul în cazul în care există un IdUtilizator, dacă nu, o altă adresă URL.

Problema este că IdUtilizator nu este încărcat în momentul RenderControl. Nu este atât de surprinzător, deoarece acest lucru este codul care spune utilizatorul că IdUtilizator este un atribut disponibil la toate.

Aș dori ajutor / sfaturi cum am rezolva acest tip de problemă. Atributul este, desigur, acolo pentru comportamentul de control. Nu sunt superfamiliar cu execuție modelul acestor controale.

Întrebat 22/11/2011 la 13:09
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
0

Aș încerca adăugarea unui LiteralControltimpul de redare, și populați - l pe PreLoadpe baza valorii UserID.

Publicat 22/11/2011 la 13:49
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more