2011-05-03 34 views
0

我有一个由几个页面使用的.ashx组件,并且由于需求,它需要具有bool属性才能针对其中一个页面正在使用该组件。在.ashx页面中设置一个propery

我通常会做的是类似this但是.aspx页面,它似乎并没有工作做一个.ashx页面完全相同。

我想要的是能够通过.ascx页面设置一个bool属性,该页面将反映在.ashx页面中。

这是不正常的电流代码:

的.ashx.cs页都有这个属性:

public bool ShowUnpublishedConcepts 
    { 
     get; set; 
    } 

那我想这样设置:

<asp:Panel ID="pnlConceptTree" runat="server"> 
     <ExtExt:TreePane ID="treeConcepts" 
Loader="ConceptTreeLoader.ashx" 
ShowUnpublishedConcepts="True"> 
     </ExtExt:TreePane> 
    </asp:Panel> 

任何想法?

回答

0

这解决了这个问题对我来说:

 Loader="ConceptTreeLoader.ashx?ShowUnpublished=false" 

而在ashx.cs页我请求参数:

string ShowUnpublished = context.Request["ShowUnpublished"]; 

这将等于假。

3

ASHX文件不是真正的页面,而是服务器端代码,因此它们没有视图状态。您需要将这些值放在会话中才能让它们持续存在。

+0

Scott Hanselman演示了如何在ASHX文件中使用Session:http://www.hanselman.com/blog/GettingSessionStateInHttpHandlersASHXFiles.aspx – SquidScareMe 2011-05-03 15:56:55

相关问题