我有一个网页有一个大表单页面,大约一半的表单将在其他地方使用,它将完全相同。无论我放在哪里,我都希望对它的所有元素进行相同的访问,但我不想复制和粘贴代码,因为这会产生太大的错误空间。我宁愿不使用WebUserControl,因为我将在此表单中使用jQuery和Javascript,并且我已经将这些与控件组合在一起的粗略体验,同时仍然可以访问所有元素。
我真的希望老板不要那么倾向于使用ASP ...当我需要你的时候PHP在哪里!!?
答案 0 :(得分:0)
您应该使用母版页和用户控件的组合。这样做有很多痛苦 - 你应该克服它们并且熟练地做到这一点。虽然这可能是一种孤立的技术,但这些技能在其他开发领域(非ASP.NET)中肯定是可重用的。你可以通过在这样的事情上变得舒适甚至高效来为自己做一个巨大的帮助。
请记住,您在可重用组件上包含的任何jQuery / javascript都将被多次包含,除非您更改它(可以使用脚本注册函数仅加载一次)。但是还要记住,如果你根据控件名称动态生成一些控件名称,那些控件名称将与你期望的非常不同,所以你需要使用这样的东西(语法很多 - 我没有测试这个) :
var firstName = document.getElementById('<% FirstName.ClientID %>').value;
现在要记住的另一件事是我刚刚在那里写的那一行,虽然它确实在寻找ClientID,它仍然不是非常可重用的,因为它有一个名为firstName
的全局变量,这将是一个当我有第二个用户控件需要相同的全局变量时出现问题。
有很多方法可以继续沿着这条路走下去......