изменить переменную ASP.NET после того, как кто-то нажмет на ссылку - PullRequest
1 голос
/ 31 июля 2009

Я хочу изменить переменную ASP.NET, когда кто-то нажимает на ссылку на странице. В частности, переменная Session ["что-то"]. Это означает, что я должен делать это после обратной передачи, но я новичок во всей веб-разработке и, в частности, в ASP.NET MVC, поэтому я знаю только перегруженное действие с некоторым атрибутом [Accept]. Так как эта ссылка находится на главном сайте, я могу только представить, чтобы добавить такое действие к каждому существующему действию, и это кажется довольно неудачным. Javascript не имеет доступа к переменным ASP.NET, поэтому я довольно растерялся.

Эта ссылка на действие должна быть предназначена почти для каждого действия, и я не знаю, как распознать, был ли доступ к нему по этой спекулятивной или какой-либо другой ссылке (что важно для меня). Это подразумевает некоторую постобработку, что-то вроде


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

Есть идеи? Кусок кода?

Заранее спасибо.

1 Ответ

1 голос
/ 31 июля 2009

Просто помните, что asp-код выполняется на сервере, и любой вывод этого кода добавляется в HTML-код, а затем HTML-код отправляется в браузер, в котором выполняется JavaScript. Поэтому вам нужно вернуться на сервер, чтобы изменить переменную сеанса.

код для ссылки,

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

Тогда для MyController,

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

    return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...