Heim  >  Artikel  >  Web-Frontend  >  js erhält UserControl-Inhalte, um die Rechtschreibung von html_javascript-Fähigkeiten zu vereinfachen

js erhält UserControl-Inhalte, um die Rechtschreibung von html_javascript-Fähigkeiten zu vereinfachen

WBOY
WBOYOriginal
2016-05-16 16:32:121466Durchsuche

Ich habe heute den Artikel von Lao Zhao gelesen, konnte ihn aber nicht debuggen.

Code kopieren Der Code lautet wie folgt:

[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:

Code kopieren Der Code lautet wie folgt:

[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