Ich habe heute den Artikel von Lao Zhao gelesen, konnte ihn aber nicht debuggen.
[AjaxPro.AjaxMethod]
öffentliche Zeichenfolge gethtml()
{
UcViewHelper viewManager = new UcViewHelper();
UserControl control = viewManager.LoadViewControl("~/uc/giftoutmodel.ascx");
string s=viewManager.RenderView(control);
return s;
}
öffentliche Klasse UcViewHelper wobei T: UserControl
{
private MyPage m_pageHolder;
public T LoadViewControl(string path)
{
m_pageHolder = new MyPage();
return (T)m_pageHolder.LoadControl(path);
}
öffentliche Zeichenfolge RenderView(T-Steuerung)
{
StringWriter-Ausgabe = new StringWriter();
this.m_pageHolder.Controls.Add(control);
HttpContext.Current.Server.Execute(this.m_pageHolder, Ausgabe, falsch);
Rückgabeausgabe.ToString();
}
}
Klasse MyPage: Seite
{
öffentliche Überschreibung void VerifyRenderingInServerForm(Control control)
{
//if (Steuerung ist GridView || Steuerung ist UserControl)
//{
// return;
//}
//base.VerifyRenderingInServerForm(control);
}
}
Test bestanden.
Wenn:
[AjaxPro.AjaxMethod]
öffentliche Zeichenfolge gethtml()
{
string s = getString();
return s;
}
öffentliche Zeichenfolge getString()
{
UserControl control = LoadControl("~/uc/giftoutmodel.ascx") as UserControl;
StringWriter tw = new StringWriter();
HtmlTextWriterwriter = new HtmlTextWriter(tw);
control.RenderControl(writer);
Rückkehrwriter.InnerWriter.ToString();
}
öffentliche Überschreibung void VerifyRenderingInServerForm(Control control)
{
// if (Control ist GridView || Control ist UserControl)
// {
// return;
//}
//base.VerifyRenderingInServerForm(control);
}
Der Grund dafür ist, dass der Code von Lao Zhao Page geerbt und dann VerifyRenderingInServerForm zur Überprüfung verwendet hat. Zweitens hat mein Code Page nicht geerbt und VerifyRenderingInServerForm direkt verwendet, was zu
geführt hat
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn