Ich habe heute Lao Zhaos Artikel gelesen, aber ich konnte ihn trotzdem nicht debuggen.
Die Codekopie lautet wie folgt:
[Ajaxpro.ajaxMethod]
öffentliche Zeichenfolge Gettml ()
{
UcviewHelper <userControl> viewManager = new UCViewHelper <UserControl> ();
UserControl control = viewManager.loadViewControl ("~/uc/giftOutmodel.ascx");
String S = ViewManager.Renderview (Kontrolle);
Rückkehr s;
}
öffentliche Klasse UCViewHelper <T> Wobei T: UserControl
{
private myPage m_pageeholder;
public t loadViewControl (String -Pfad)
{
m_pageholder = new myPage ();
return (t) m_pageeholder.loadControl (Pfad);
}
Public String Renderview (T Control)
{
StringWriter output = new StringWriter ();
this.m_pageholder.controls.add (Kontrolle);
Httpcontext.current.server.execute (this.m_pageholder, output, false);
return output.toString ();
}
}
Klasse MyPage: Seite
{
Public Override Void VerifyRenderinginServerform (Steuerelement)
{
// if (Kontrolle ist GridView || Steuerung ist userControl)
// {
// zurückkehren;
//}
//base.VerifyRenderinginServerForm(Control);
}
}
Der Test wurde abgelaufen.
Wenn:
Die Codekopie lautet wie folgt:
[Ajaxpro.ajaxMethod]
öffentliche Zeichenfolge Gettml ()
{
String S = getString ();
Rückkehr s;
}
öffentliche String GetString ()
{
UserControl control = loadControl ("~/uc/giftOutmodel.ascx") als userControl;
StringWriter tw = new StringWriter ();
HtmlTextWriter writer = new htmlTextWriter (TW);
Control.RenderControl (Schriftsteller);
return writer.innerwriter.toString ();
}
Public Override Void VerifyRenderinginServerform (Steuerelement)
{
// if (Kontrolle ist GridView || Steuerung ist userControl)
// {
// zurückkehren;
//}
//base.VerifyRenderinginServerForm(Control);
}
Der Grund dafür ist, dass der Code von Lao Zhao die Seite geerbt und dann VerifyRenderinginServerform verwendet hat, um dies zu überprüfen. Zweitens wurde mein Code nicht erbelt und verifizierte VerififyRenderinginServerform direkt, sodass dies verursacht wird