我开始有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>
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。