0

我有一个 ASMX 服务,它作为 JSON 对象的一部分向 Web 应用程序提供一些部分 HTML。到目前为止,我一直在使用 StringBuilders 在代码中构建 HTML。这是一个巨大的痛苦,因为格式很难阅读,而且我无法使用 Visual Studio/Resharper 的任何代码完成、语法突出显示和其他方便的功能。

我尝试使用用户控件来解决这个问题(如果有更好的方法,我不会致力于这种方法。我只需要一些非常简单的参数化静态部分 HTML 页面),但是现在我在尝试渲染时遇到了问题像这样的控制:

public override string Html
    {
        get 
        {
            StringWriter writer = new StringWriter();
            HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
            CreateTestWizardPartials.TestPeriods testPeriodsHtml = new CreateTestWizardPartials.TestPeriods();
            testPeriodsHtml.RenderControl(htmlWriter);
            htmlWriter.Flush();

            return writer.ToString();
        }
    }

这总是返回一个空字符串。我读过您需要使用 Page.LoadControl() 来动态加载用户控件,但没有可供我使用的 Page。是否有比用户控件更好的解决方法或解决方案?

谢谢!

4

1 回答 1

1

您可以加载包含您需要的部分标记的静态 HTML 文件。如果您需要以某种方式将标记与动态数据绑定,则通过模板引擎呈现 HTML 文件。

这是关于 ASP.Net 的一些模板系统的旧帖子: 你能推荐一个 .net 模板引擎吗?

还有一篇关于 ASP.Net MVC 的最新帖子: JQuery's $ is in conflict with that of StringTemplate.Net in ASP.Net MVC

于 2012-05-05T00:46:44.683 回答