0

我在超过 1 页的页面加载方法中生成 HTML。

所有这些生成的 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'.

4

1 回答 1

1

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

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

更多信息在这里:

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

于 2013-06-22T12:57:17.397 回答