我正在使用ASP.net开发一个网站。
在我的主页中,我有14个树视图控件。它们被放置在Jquery选项卡下。因此,当用户单击选项卡时,它只显示一个树视图。所以在树节点改变了事件当前我正在做的是将值从查询字符串传递到另一个页面。此查询字符串没有任何敏感数据。我必须传递选定的选项卡ID和选定的树节点ID。
Response.Redirect(String.Format("~/Display.aspx?tab=1&type={0}",treeview1.SelectedValue), true);
但你知道网址很难看。我现在不想使用Friendly URL的东西。 所以我做的是在主页上放置2个隐藏字段值,然后在单击树节点时设置它们。
然后从源页面我使用此代码来访问它。
if(Page.PreviousPage!=null)
{
string tab= Page.PreviousPage.FindControl("hftab").UniqueID;
string Type= Page.PreviousPage.FindControl("hfType").UniqueID;
}
但是Page.PreviousPage总是返回NULL。那么如何在不使用会话和查询字符串的情况下解决这个问题。我只想在幕后传递两个非敏感数据。
如果这是关于跨页回发的事情如何在节点更改事件中回复此跨页回发?可以做一个Cross页面回发,只获得我需要的2个值吗?
答案 0 :(得分:0)
您尝试的方法只能通过"跨页面发布"机制。当你设置像按钮这样的服务器控件的PostbackUrl属性时,在目标页面上设置Page指令的PreviousPage属性;那么只有你会获得Page.PreviousPage值。
以下是一些参考: 1. http://www.codeproject.com/Tips/604553/Postback-and-Cross-Page-Posting-in-ASP-NET 2. http://www.aspdotnet-suresh.com/2010/05/cross-page-post-backing-in-net.html