C# 母版页、表单页、表单runat=server>;母版页上的所有onclick方法?
我的问题是我有多个嵌套母版页:C# 母版页、表单页、表单runat=server>;母版页上的所有onclick方法?,c#,asp.net,methods,master-pages,runatserver,C#,Asp.net,Methods,Master Pages,Runatserver,我的问题是我有多个嵌套母版页: 级别1:全局(页眉、页脚、登录、导航等) 第2级:特定(搜索页面、账户页面等) 级别3:页面本身 现在,因为只有一个表单可以有runat=server,所以我将表单放在全局页面(这样我可以处理登录、反馈等事情) 现在有了这个解决方案,我还必须将示例级别3(见上文)方法(如搜索)也放在级别1母版页上,但这将导致该页的代码非常繁重(用于开发),包括来自所有位置的代码,甚至是仅在单个页面上使用的代码(例如更改电子邮件表单) 有没有办法将此类方法从onclick事件(
- 级别1:全局(页眉、页脚、登录、导航等)
- 第2级:特定(搜索页面、账户页面等)
- 级别3:页面本身
runat=server
,所以我将表单放在全局页面(这样我可以处理登录、反馈等事情)
现在有了这个解决方案,我还必须将示例级别3(见上文)方法(如搜索)也放在级别1母版页上,但这将导致该页的代码非常繁重(用于开发),包括来自所有位置的代码,甚至是仅在单个页面上使用的代码(例如更改电子邮件表单)
有没有办法将此类方法从onclick
事件(例如:changemail
)从级别1(全局母版页)委派到级别3(单个页面本身)
更清楚地说:
我不想让全局母版页上的方法changemail
隐藏在代码后面,而是希望以某种方式将其“移动”到实际使用它的唯一页面。它当前必须位于全局主机上的原因是全局主机具有表单runat=server
,并且每个aspx页面只能有一个
这样可以更容易(更符合逻辑)构造代码
thnx(希望我解释正确)
我已经搜索过但没有找到任何关于处理这个案件的一般信息,通常的答案是:在母版页上有所有的方法,但我不喜欢它。因此,任何将其移动到特定页面的方法都将非常棒。thnx
编辑也是同一件事的一部分。。。
另一方面-如何访问母版页内容页上的
textbox1.text
?对此有什么最佳做法吗?如果您将搜索按钮和文本框放在.aspx本身(第3级)上,事件处理程序也将进入页面(或其代码隐藏)。表单标签是否在全局母版页上并不重要(级别1)
至于你的第二个问题:你可以使用
var tb = this.FindControl("textbox1") as TextBox;
退房#1。对于#2,没有可用的强类型?当有人更改名称时,这似乎是为空指针设计的?对于#1:我正在这样做:SignIn和代码:void AuthorizeUser(对象发送方,EventArgs e){[…]}但是得到一个错误:CS1061:'ASP.manage\u-signin\u-default\u-aspx'不包含'AuthorizeUser'的定义,并且找不到接受类型为'ASP.manage\u-signin\u-default\u-aspx'的第一个参数的扩展方法'AuthorizeUser'这就是为什么我认为它在“级别3”页面上不起作用。不确定是什么问题…啊,好吧,明白了-必须公开这个方法!这也使得第二部分不再那么重要了。thnx非常感谢您的帮助:)