2009-07-31 56 views
1

我想在有人單擊頁面上的鏈接時更改ASP.NET變量。特別是一個Session [「something」]變量。這意味着我應該在回發之後執行該操作,但是我對整個Web開發和ASP.NET MVC有所瞭解,所以我只知道一些帶有[Accept]屬性的重載操作。由於此鏈接位於主站點上,因此我可以想象僅爲每個現有操作添加這樣的操作,這似乎很不幸。 Javascript無法訪問ASP.NET變量,所以我很迷茫。有人點擊鏈接後更改ASP.NET變量

這個動作鏈接應該適用於幾乎所有的動作,我不知道如何識別它是否被這個spoecific或其他鏈接訪問(這對我很重要)。這意味着一些後處理,如


<a href="" onclick="<% Session["location"] = new_value %>" > 

任何想法?一段代碼?

在此先感謝。

回答

1

只要記住在服務器上執行asp代碼,並將該代碼的任何輸出添加到HTML中,然後將HTML發送到JavaScript運行的瀏覽器。所以你需要回到服務器去改變會話變量。

該鏈接的代碼,

<%= Html.ActionLink("MyLink", "MyAction", "MyController")%> 

那麼對於myController的,

public ActionResult MyAction() 
{ 
    Session["something"] = "New Value"; 

    return View(); 
} 
+0

可惜的是,這個動作鏈接應該是幾乎每一個動作,我不知道,如何識別,是否已經訪問了這個spoecific或其他鏈接(這對我很重要)。 – Trimack 2009-08-02 16:31:15