左右两个Frame,左面Left.aspx里面是一个菜单树,右边是工作区
电击Left的树节点,右侧工作区会跳转到相应的页面,并用QueryString得到左面的节点的ID
我的问题是需要右侧页面一直可以取到这个ID
比如右侧第一个界面是一个UserList.aspx列表页面,可以很方便的Query到ID
但是对列表的其中一个条目进行Edit等操作会跳另外一个页面比如EditUser.aspx这个页面就不好拿到ID了我先在总结下来的办法
1。增加HiddenField,在Edit页面取
这样比较麻烦
2。Session
也挺麻烦而且耗服务器资源。比1好些
3。Application
基本同2所以想请问一下大家有什么其他好办法
电击Left的树节点,右侧工作区会跳转到相应的页面,并用QueryString得到左面的节点的ID
我的问题是需要右侧页面一直可以取到这个ID
比如右侧第一个界面是一个UserList.aspx列表页面,可以很方便的Query到ID
但是对列表的其中一个条目进行Edit等操作会跳另外一个页面比如EditUser.aspx这个页面就不好拿到ID了我先在总结下来的办法
1。增加HiddenField,在Edit页面取
这样比较麻烦
2。Session
也挺麻烦而且耗服务器资源。比1好些
3。Application
基本同2所以想请问一下大家有什么其他好办法
解决方案 »
- ASP.NET中使用MYSQL数据库,新建数据连接时老报错
- imagebutton有没有改变图片的属性
- 类无法访问的问题。
- 我上传到服务器的压缩文件我想解压缩,谁帮帮我啊.
- |M| C#和Javascript是如何声明这样的变量:如我有变量a="AB" b="CD" 然后我要就声明一个变量名为"ABCD"(即变量名为a+b)的变量
- 新手问题~~一直不明白
- 真正的技术问题。关于asp和asp.net的底层问题
- 请教微软专家和各位高手,关于asp.net操作IIS的问题
- ASP.NET treeview无刷新
- 巨菜的问题??
- 在asp 2.0 C# XmlDataSource相关问题
- System.Web.UI.Page 继承问题?
写入:HttpContext.Current.Cache.Insert("RequestID",id);
取出:id=(int)HttpContext.Current.Cache["RequestID"]
我这个必须在server端指定MenuID到Session或者别的东西里面,请问这个如何解决?
我需要在server site 指定MenuID到session等里面,不能在客户端,请问这个咋弄?
或用Session
跟你说的差不多.
我也在做框架.
多传个参数就可以了.
重写URL啦.
----------------------------------------
最好的办法就是不要用 Iframe
而改用 UserControl 或 MasterPage这样就不存在说不好传值了.就如同操作本页一样简单.
你要ID就直接可以得到.你为什么不用 UserControl / MasterPage ?
这是多么好的东西
TreeNodeCheckChange 当TreeView服务器控件的复选框在向服务器的两次发送过程之间有所更改时发生
SelectedNodeChange 当选择TreeView服务器控件中的节点时发生
TreeNodeExpanded 当展开TreeView服务器控件中的节点时发生
TreeNodeCollapsed 当折叠TreeView服务器控件中的节点时发生
TreeNodePoulate 当其PopulateOnDemand属性设置为true的节点在TreeView服务器控件中展开时发生reeView
TreeNOdeDataBound 当数据项绑定到TreeView服务器控件中的节点时发生
2、节点的选择
TreeView服务器控件的节点文字有两种模式:选择模式和导航模式,默认情况下,节点的文字处于选择模式
SelectAction属性来指定单击TreeView服务器控件的节点时所触发的事件
None 当选择节点时不触发任何事件
select 当选择节点时TreeView服务器控件触发SelectNodeChange事件
Expand 当选择节点时TreeView服务器控件触发TreeNodeExpanded事件
selectExpand 当选择节点时TreeView服务器控件同时触发SelectNodeChange和TreeNodeEcpand事件 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
Response.Write("你选择了" + TreeView1.SelectedNode.Text);
}
protected void TreeView1_TreeNodeCollapsed(object sender, TreeNodeEventArgs e)
{
Response.Write("你折叠了" + e.Node.Text);
}
protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
if (IsPostBack)
{
Response.Write("你展开了" + e.Node.Text);
}
}
比较方便也是比较经济的做法就是在修改页面也加入一个URL参数,优点:逻辑简单,不会因为程序复杂度的增加,难以管理
只不过我对ASPX这块不是很熟悉,我的界面MenuID是这样的传递的
A-->B-->b1-->b2-->B
A是左面的Left.aspx一个菜单树,
B,b1,b2分别是右侧工作区的列表,编辑,察看等界面
我的迷惑是B-->b1-->b2-->B这个过程的MenuID是如何来传递的?希望高手给支支招
不能用URL因为有些GRID的Edit,Delete等操作里面是没有办法加上这个ID的
:<sessionState mode='StateServer' stateConnectionString='tcpip=127.0.0.1:42424' sqlConnectionString='data source=127.0.0.1;Trusted_Connection=yes' cookieless='true' timeout='180'/>
另外这个东西家在哪里?
不过我碰到的恶心问题时TreeView无法在node.OnClick事件里面给Session付值
根本就没有OnCliCk事件,只有SelectedNodeChange两个事件,不知道MS那帮天才怎么想的,这个树做出来只是为了看么?
http://localhost/DcsWeb/Configuration/BasicInfoTables_Edit.aspx?tbName=BI_PositionType&pkName=IDKey&busPKName=PositionName&moduleID=Configuration.Position&VoucherID=vch_BI_PositionType&pkValue=2fbcf15a-8b83-48c4-ac15-c8ee022ebd92
都说了穿URL不现实,这么简单的问题还用来这里问么
例如:
<a href="UserList.aspx?id=1&page=1">Edit</a
>
我一般开发不用GIRDVIEW和他自己的按钮,用REPEATER或自己写都比较灵活,都用URL传。
http://blog.csdn.net/lfywy/archive/2008/06/11/2535885.aspx
2、也可以用Cookie
3、还可以单独定义一个记录ID的属性
然后,点击的时候,会有RowCommand事件,在事件处理里根据e.CommandArgument构造目的url,然后在Response.Redirect(url);或者,
在RowDataBound事件处理中,给按钮增加onclick属性,在这里取ID值构造url,或url的一部分,然后在客户端用js控制跳转……