2009-07-30 2 views
0

Я пытаюсь создать ссылку, которая будет OnClick изменить переменный сеанс, как этогоJavascript функции вместе с asp.net


<a href="/Index" onclick="<% HttpContext.Current.Session["location"] = location;%>" > 
    <%=location%> 
</a>

Однако во время обработки страницы сеанса изменения на своем собственном при генерации каждого якоря element (с этим атрибутом onclick). Поэтому я хотел бы создать яваскрипт функцию как


<script type="text/javascript" > 
    function session(location) { 
     HttpContext.Current.Session["location"] = location; 
    } 
</script> 

Unfortunatelly, я не знаю, достаточно, так что это, кажется, не работает .. Есть идеи? Заранее благодарен

+0

Чтобы быть понятным, вы хотите изменить переменную ASP.NET, когда кто-то нажимает на ссылку на странице? – deceze

+0

Да, это именно оно. – Trimack

ответ

2

Session - объект сервера ASP.NET, который не доступен непосредственно клиенту с помощью JavaScript (сеанс может храниться как куки-файл на клиенте, но даже тогда он не предназначен для доступа с клиентской стороны напрямую). Вы можете обрабатывать то, что вы хотите сделать в несколькими способами -

  1. магазин значение в скрытом ввода при нажатии на ссылку, а затем прочитать это значение на стороне сервера и хранить в сессии.

  2. Хранить в сеансе на обратной стороне в обработчике событий Click для привязки. Вы можете использовать asp:HtmlAnchor control для этого и создан обработчик событий для OnServerClick события

+0

Прошу прощения, но не могли бы вы быть более конкретными (может быть, с небольшим примером)? Я до сих пор совершенно не знаком с веб-разработкой, и еще через час я стараюсь, что я все еще там, где был раньше. Я использую инфраструктуру asp.net mvc, поэтому мне будет интересен второй вариант, так как я не хочу создавать дополнительное действие, принимающее HttpVerbs.Post для каждого действия. Или, может быть, я полностью потерялся здесь. – Trimack

+0

Я не слишком хорошо знаком с тем, как работает среда ASP.NET MVC, и мой ответ основывался на веб-формах ASP.NET. Я более чем счастлив, если кто-то отредактирует сообщение, чтобы включить пример MVC. Тем временем я увижу, могу ли я найти ресурс для обновления моего ответа. –

Смежные вопросы