2012-04-16 51 views
1

我想知道如何在asp.net中使用會話,我用下面的代碼:會話值

protected void Page_Load(object sender, EventArgs e) 
{ 
    string academics = "academics"; 
    Session["header_value"] = academics; 
} 

然後我想使用該值在下面的代碼

<a href="academics.aspx"> 
    <%if("header_value"=="academics") 
    {%> 
      <div id="academics" class="pri-nav active"></div> 
    <%}else{%> 
      <div id="academics" class="pri-nav"></div> 
    <%}%></a> 

我也想知道是否有任何其他方式將價值傳遞給會議以外的.cs?

回答

0

保護或公共變量可以在頁面上訪問。

protected string ActiveNav = ""; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    ActiveNav = "academics"; 
} 

<a href="academics.aspx"> 
     <div id="academics" class="pri-nav <%= ActiveNav=="academics"? "active" :"" %> "></div> 
    </a> 
+0

它給出錯誤「名稱'ActiveNav'不存在於當前上下文中」我寫保護字符串ActiveNav =「」; protected void Page_Load(object sender,EventArgs e) ActiveNav =「Academics」; } 在academics.cs和「

」在主文件中 – 2012-04-16 18:07:16

+0

如果你想做導航正確的方法做到這一點:做一個.sitemap並使用SiteMapDataSource獲取基於站點地圖的當前網址。 – zeal 2012-04-16 18:10:45

0

你在你的代碼隱藏的方式相同:

... <%if(Session["header_value"] == "academics") { ... 

或者更簡潔地說:

<a href="academics.aspx"> 
    <div id="academics" 
     class="pri-nav <%=Session["header_value"] == "academics" ? "active" : ""%>"></div> 
</a> 
+0

,但我想使用動態CSS類...如何 – 2012-04-16 17:46:35

+0

我在academic.cs文件中保護了void Page_L oad(object sender,EventArgs e){HeaderText =「Academics」; }但我想用在文件college.aspx這是主文件,那麼我怎麼能? – 2012-04-16 17:55:28

0
在aspx文件

<%if(get_session()=="academics") 
{%> 
    <div id="academics" class="pri-nav active"></div> 
<%}else{%> 
    <div id="academics" class="pri-nav"></div> 
<%}%> 

在aspx.cs文件:

public String get_session() 
{ 
    string academics = "academics"; 
    Session["header_value"] = academics; 

    return academics; 
}