如何点击母板页中的linkbutton,传递值到子页面的MultiView呢? 新手求助~~谢谢大家。我建立一个母版页,里面有导航栏,是几个linkbutton控件组成。子页面default.aspx里有一个multiView控件,设置了几个VIEW。我想达到的效果是,点母版页上的不同的LinkButton,子页面中显示相应的view,请大家帮助,给个思路就好~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 虽然可以通过子网页的Master属性,并转换为实际类后访问母板页的类,但还是实现不了你的功能,还是改结构吧 举个例子,假设master中主要是书籍销售主界面,而aspx则是完成不同店铺的不同的处理细节。首先,设计一个通讯接口,例如:using System;public interface IMyMaster{ string 当前被选中的书籍 { get; set; } string[] 所有被选中的书籍 { get; set; } event Action 有书籍被选中了;}然后让你的master page的后台类型使用这个接口,并且在相应的LinkButton的地方触发事件通知,例如:if(this.有书籍被选中了!=null) this.有书籍被选中();在你的aspx的代码中,则可以这样捕获事件:void Page_Load(object sender,EventArgs e){ ((IMyMaster)this.Master).有书籍被选中 += ........}这样,aspx就可以得到master page的通知(有书籍被选中),并去了解更多信息(例如是哪个书籍被选中)。 依赖倒置设计技术并不等于你要去做什么伤筋动骨的结构重构,而是要将通讯接口独立出来,使得对象的属性(跟事件)与对象的界面实现相分离。例如这个例子中,master page它的接口定义了它给外界暴露什么属性,并且触发什么事件。实际上在开发时,你应该用10分钟先开发出一个master page原型,哪怕仅仅用最简单的控件拼凑起这个原型,然后就可以立刻开发aspx(即master page的客户程序)。然后等你有空闲的时候才重新修改master page的细节,使得它更加好用。再重复一遍,对于组件开发,应该以接口(包含了数据、方法和事件定义,但是根本不在乎具体是如何实现的)为原则,当你在设计相互协同的组件时首先不应该纠缠于某个组件的内部是linkbutton还是menu来实现的,而是依据接口来相互操作。你不需要总是把程序推倒重来。依赖倒置技术是很灵活的,黑的可以变成白的,白的可以变成黑的,只要是让作为提供服务的一方不要依赖自己的客户程序就可以。 母版页中支持linkbutton控件吗? .net自动缩放图片 高手请进 希望大家提供一些好的展示网站做参考 JQuery的树节点的值怎么获得有人知道吗 asp.net2.0如何批量动态生成flash?在线等,解决就结贴 在新建一个asp.net项目时出现的错误! 绑定同一个表中的前三条记录,分别在三列各显示一条怎么实现? IIS服务器配置困惑 连接远程服务器的问题 运行vs 截图失效 求助,在aspx中调用javascript相关的一个问题 正则问题 (TreeView树视图)明天客户就要了 这个功能实现不了 心有点乱!
{
string 当前被选中的书籍 { get; set; }
string[] 所有被选中的书籍 { get; set; } event Action 有书籍被选中了;
}然后让你的master page的后台类型使用这个接口,并且在相应的LinkButton的地方触发事件通知,例如:if(this.有书籍被选中了!=null)
this.有书籍被选中();在你的aspx的代码中,则可以这样捕获事件:void Page_Load(object sender,EventArgs e)
{
((IMyMaster)this.Master).有书籍被选中 += ........
}这样,aspx就可以得到master page的通知(有书籍被选中),并去了解更多信息(例如是哪个书籍被选中)。