开发者

master pages, form pages, form runat=server > all onclick methods on master page?

the problem i have is that i have multiple nested master pages:

  • level 1: global (header, footer, login, navigation, etc...)
  • level 2: specific (search pages, account pages, etc...)
  • level 3: the page itself

now, since only one form can have runat=server, i put the form at global page (so i can handle things like login, feedback, etc...).

now with this solution i'd have to also put the for example level 3 (see above) methods, such as search also on the level 1 master page, but this will lead to this page being heavy (for development) with code from all places, even those that are used on a single page only (change email form for example).

is there any way to delegate such methods from the onclick events (for example: ChangeEMail) from level 1 (global masterpage) to level 3 (the single page itself).

to be even more clear: i want to NOT have to have the method ChangeEMail on the global master page code behind, but would like to 'MOVE' it somehow to the only page that will actually use it. the rea开发者_如何学Cson why it currently has to be on the global master is that global master has form runat=server and there can be only one of those per aspx page.

this way it will be easier (more logical) to structure the code.

thnx (hope i explained it correctly)

have searched but did not find any general info on handling this case, usualy the answer is: have all the methods on the master page, but i don't like it. so ANY way of moving it to the specific page would be awesome. thnx

edit also part of the same thing... on the other hand - how to access the textbox1.text for example on the content page from master page? any best practice for this?


If you put the Search button and textbox on the .aspx itself (level 3) the event handler will also go in the page (or its codebehind). It doesn't matter that the form tag is on the global masterpage (level 1)

As for your second question: You can use

var tb = this.FindControl("textbox1") as TextBox;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜