0

我有一个aspx和aspx.cs文件与一些组件。现在我想在其他页面中重用该页面的部分内容。我的方法是将重复部分拉出到WebServerControl中。在ASP.NET和C#中的自定义服务器控件 -

所以之前我浪费更多的时间yahoogling是,即使正确的想法,如果是这样,有使用aspx文件的一部分,而不是与HtmlTextWriterWriteBeginTagWriteAttribute等繁琐做在RenderContents方式。对于复杂的布局和大量的控件来说,这看起来像一团糟。

什么是标准?

回答

2

取决于。

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

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

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

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

要嵌入的JavaScript自定义控制,常用的方法是

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

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

+0

好的如果用户控件包含一些javascript,我可以从嵌入页面调用它吗? – EasierSaidThanDone 2012-07-17 19:50:33

+1

查看我更新的答案。 – Channs 2012-07-17 20:21:00

0

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

0

所有你需要的是创造一个ASP.NET Web User Control

从MSDN摘自:

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

相关问题