c# – 我是否在正确的轨道上(ASPX,ascx,设计)
我有几个网页,这些网页中的每一个都或多或少相同.他们每个人都有一个顶部的员工部分.下一部分是客户部分,之后的部分是先前的订单.这两个并非在所有页面上都是必需的.最后一部分是评论(博客).
我开始有2页,没问题.我为每个页面编写了相同的(复制粘贴)代码(给出或采取一些细节).销售给这个客户带来了(诱饵)并且客户感到饥饿..更多更多…现在我有10个页面或多或少相同的代码. 现在我想我可以通过重复使用相同的“控件”来减少开发时间.所以开始做一些ascx(4),认为我可以在每个页面(员工,客户,销售,博客)重用这4个控件. 我遇到了一个小抓举,谷歌告诉我 – “不,不,你不是如何使用ascx”. ascx只是一个新的“asp:label”/“asp:textbox”,可能还有一些额外的逻辑. 抢夺 – 我用4个控件中的每个控件创建了一个NewTest.aspx,但是我没有从控件中看到asp:formview / asp:detailsview等.我可以在形式视图中放置“hello worlds”,就在之前,之后 – 但不在< formview>< / formview>内. 哪里出错了,我需要重新考虑什么? NewTest.aspx <table width="800"> <tr> <td> <IIT:EmployeeRecord ID="test1" runat="server" /> </td> </tr> </table> 我使用ObjectDataSource并从Session中提取员工ID.员工记录 – 他的名字,带有他的zipcodes的下拉列表(仅限salesrep)和搜索字段.基本上是一个带有一些额外逻辑的文本框. 所有底层逻辑(BLL,DAL,模型等)都完全相同.项目的其余部分编译和运行与我开始使用ascx之前完全相同. 编辑:我正在努力尝试KSS,如果我可以让EmployeeRecord显示,那么我可以复制粘贴这个想法. 从webconfig开始: <pages> <controls> <add tagPrefix="IIT" tagName="Comments" src="~/DynamicData/FieldTemplates/Comments.ascx" /> <add tagPrefix="IIT" tagName="OrderRecord" src="~/DynamicData/FieldTemplates/OrderRecord.ascx" /> <add tagPrefix="IIT" tagName="CustomerRecord" src="~/DynamicData/FieldTemplates/CustomerRecord.ascx" /> <add tagPrefix="IIT" tagName="EmployeeRecord" src="~/DynamicData/FieldTemplates/EmployeeRecord.ascx" /> </controls> </pages> Intellisense可以识别EmployeeRecord和OrderRecord,但不能识别Comments和CustomerRecord.编辑:智能感知现在可以识别它们. EmployeeRecord <asp:formview ID="fv_empDetail" runat="server" datasourceID="ods_empDetail"> <itemtemplate> <table> <tr> <td> Medarbejder: </td> <td> <asp:TextBox ID="tbEmployeeName" runat="server" ReadOnly="true" Text='<%# Bind("name") %>' BorderStyle="None"></asp:TextBox> </td></tr> </table> </ItemTemplate> </asp:FormView> <asp:ObjectDataSource ID="ods_empDetail" runat="server" SelectMethod="GetEmployee" TypeName="xxxxxx.EmployeeBLL"> <SelectParameters> <asp:SessionParameter Name="employee" DbType="String" SessionField="employee" /> </SelectParameters> </asp:ObjectDataSource> (任何拼写错误仅供您使用;),实际代码中没有拼写错误) 解决方法
将MasterPage用于您的项目.如果您认为某些常见特定页面组的信息与其他组无关,那么请对这些特定页面组使用嵌套母版页.
使用嵌套的主页将使您的根母版页保持清晰,并且也将用于其他页面. 您也可以按照@Umar给出的开发用户控制的链接进行操作,或者参考以下内容: Create ASP.NET user control My User Control (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |