我在页面加载方法中生成HTML超过1页。
所有生成的HTML在所有页面上都是相同的。
我发现每个页面都有相同的代码是很痛苦的,因为一旦我需要更改某些内容,我需要在所有页面中更改它们。
示例:
我在每个页面都有div
:
<div id="Questions" runat="server"></div>
在每个页面的Page Load
方法中,我生成相同的HTML。
Questions.InnerHTML = "<span>...etc...</span>";
所以我决定创建一个生成这些内容的页面,然后将这个页面加载到其他页面的div中,意思是,如果我需要更改,我只会更改此页面。
我创建了一个处理程序,Questions.ashx
。此处理程序生成该HTML并发回响应。
现在要包含它,我知道我可以使用JQUERY's
.load()
函数,但我想从服务器端生成这些HTML。
我尝试了什么:
Questions.InnerHTML = LoadControl("~/Handlers/Questions.ashx").ToString();
但我收到了这个错误:
Type 'Questions' does not inherit from 'System.Web.UI.UserControl'.
答案 0 :(得分:1)
“LoadControl”用于“用户控件”,而不是HTTP处理程序..
您可能最好创建一个用户控件,这是一个.ascx文件。这可以包含HTML,ASPX控件和后面的代码,并且可以被任何ASPX页面引用。
更多信息:
http://msdn.microsoft.com/en-us/library/y6wb1a0e(v=vs.100).aspx