2013-06-22 31 views
0

我在多页页面的页面加载方法中生成HTML。在Web窗体中包含处理程序响应

所有生成的HTML在所有页面上都是相同的。

我发现这是一个痛苦的在每一个页面相同的代码,因为一旦我需要改变一些东西,我需要改变他们的所有页面。

实施例:

我在每个这些页面的div

<div id="Questions" runat="server"></div>

在每一页的Page Load方法,我生成相同的HTML。

Questions.InnerHTML = "<span>...etc...</span>";

所以,我决定把产生这些内容的网页,然后加载其他页面的DIV中此页面,意味着,如果我需要改变,我只能改变这个页面。

我创建了一个Handler,Questions.ashx。该处理程序生成该HTML并发送回应。

现在要包含它,我知道我可以使用JQUERY's​​函数,但我想从服务器端生成这些HTML。

我已经试过什么:

Questions.InnerHTML = LoadControl("~/Handlers/Questions.ashx").ToString();

但我收到此错误:

Type 'Questions' does not inherit from 'System.Web.UI.UserControl'.

回答

1

“LoadControl” 是 “用户控制”,而不是HTTP处理程序..

您最好创建一个用户控件,它是一个.ascx文件。这可以包含HTML,ASPX控件和代码,并且可以被任何ASPX页面引用。

此处了解详情:

http://msdn.microsoft.com/en-us/library/y6wb1a0e(v=vs.100).aspx

+0

谢谢你把我介绍给用户控件,我的工作将现在容易得多。 –

相关问题