0

我有一个带有一些组件的 aspx 和 aspx.cs 文件。现在我想在另一个页面中重用该页面的部分内容。我的方法是将重复的部分提取到 WebServerControl 中。

因此,在我浪费更多时间雅虎搜索之前,即使是正确的想法,如果是这样,有没有办法使用 aspx 文件的一部分,而不是RenderContentsHtmlTextWriter,WriteBeginTag等单调乏味地WriteAttribute进行操作。对于复杂的布局和大量的控件来说,这看起来像是一团糟。

标准是什么?

4

3 回答 3

2

依靠。

主要驱动因素是,如果您需要在多个 Web 应用程序中重用您的控件,您应该使用Custom Control(C# 中的 .cs)。

否则,如果您只打算在一个 Web 应用程序中重用您的控件,请选择User Control(.ascx)。

这篇MSDN 文章是一个很好的起点。

更新(因为OP询问了更多细节):

要为自定义控件嵌入 JavaScript,一种常见的方法是

var initializeScript = string.Format("MyNamespace.initialize('{0}', {1});", ClientID, myScriptString);
Attributes.Add("onmouseover", initializeScript);

建议在 js 文件中而不是在 .cs 中编写 JavaScript 代码,因为后者是维护和调试的噩梦。希望这可以帮助。

于 2012-07-17T19:04:33.427 回答
0

听起来您想要做的是将项目捆绑到User Control中。这将允许您通过使用现有的 .NET 控件来设计控件,而不是从头开始渲染所有内容。

于 2012-07-17T18:53:48.527 回答
0

您只需要创建一个ASP.NET Web 用户控件

取自 MSDN:

ASP.NET Web 用户控件类似于完整的 ASP.NET 网页(.aspx 文件),同时具有用户界面页面和代码。创建用户控件的方式与创建 ASP.NET 页面的方式非常相似,然后添加所需的标记和子控件。用户控件可以包含代码来像页面一样操作其内容,包括执行数据绑定等任务。

于 2012-07-17T18:55:10.250 回答