最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js获取UserControl内容为拼html时提供方便_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:28:27
文档

js获取UserControl内容为拼html时提供方便_javascript技巧

js获取UserControl内容为拼html时提供方便_javascript技巧:今天看了老赵的文章可是怎么都调试不通过。 代码如下: [AjaxPro.AjaxMethod] public string gethtml() { UcViewHelper viewManager = new UcViewHelper(); UserControl control = viewManager.LoadViewCon
推荐度:
导读js获取UserControl内容为拼html时提供方便_javascript技巧:今天看了老赵的文章可是怎么都调试不通过。 代码如下: [AjaxPro.AjaxMethod] public string gethtml() { UcViewHelper viewManager = new UcViewHelper(); UserControl control = viewManager.LoadViewCon
今天看了老赵的文章可是怎么都调试不通过。

代码如下:
[AjaxPro.AjaxMethod]
public string gethtml()
{

UcViewHelper viewManager = new UcViewHelper();
UserControl control = viewManager.LoadViewControl("~/uc/giftoutmodel.ascx");
string s=viewManager.RenderView(control);

return s;

}

public class UcViewHelper where T : UserControl
{
private MyPage m_pageHolder;
public T LoadViewControl(string path)
{
m_pageHolder = new MyPage();
return (T)m_pageHolder.LoadControl(path);
}
public string RenderView(T control)
{
StringWriter output = new StringWriter();

this.m_pageHolder.Controls.Add(control);
HttpContext.Current.Server.Execute(this.m_pageHolder, output, false);

return output.ToString();
}
}

class MyPage : Page
{
public override void VerifyRenderingInServerForm(Control control)
{
//if (control is GridView || control is UserControl)
//{
// return;
//}
//base.VerifyRenderingInServerForm(control);
}
}

测试通过。

如果:

代码如下:
[AjaxPro.AjaxMethod]
public string gethtml()
{
string s = getString();
return s;

}
public string getString()
{
UserControl control = LoadControl("~/uc/giftoutmodel.ascx") as UserControl;
StringWriter tw = new StringWriter();
HtmlTextWriter writer = new HtmlTextWriter(tw);
control.RenderControl(writer);
return writer.InnerWriter.ToString();
}

public override void VerifyRenderingInServerForm(Control control)
{
// if (control is GridView || control is UserControl)
// {
// return;
//}
//base.VerifyRenderingInServerForm(control);
}

究其原因,原来是老赵的代码 继承了Page 然后使用VerifyRenderingInServerForm验证,二我的代码没有继承Page直接使用VerifyRenderingInServerForm 所以会造成

文档

js获取UserControl内容为拼html时提供方便_javascript技巧

js获取UserControl内容为拼html时提供方便_javascript技巧:今天看了老赵的文章可是怎么都调试不通过。 代码如下: [AjaxPro.AjaxMethod] public string gethtml() { UcViewHelper viewManager = new UcViewHelper(); UserControl control = viewManager.LoadViewCon
推荐度:
标签: 技巧 js html
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top