Могу ли я передать переменную javascript во встроенный код ASP.NET? - PullRequest
2 голосов
/ 06 марта 2012

Я нашел бесчисленные примеры и сообщения о передаче переменных «код позади» в Javascript, но мне интересно, есть ли способ сделать обратное.

На мой взгляд, я пытаюсь динамически создать URL, используя вспомогательный класс ASP и переменную из javascript. Я хотел бы сделать что-то вроде:

var url = '@Url.Action("' + actionname + '", "controller")';

... где actionname предопределено некоторой другой логикой. Это не сработает, потому что я не могу разбить встроенный код таким образом.

Кто-нибудь еще пытался сделать что-то подобное раньше или есть идеи?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 06 марта 2012

Это грязно, но я иногда использовал HiddenField для передачи значения.

ASP:

<asp:HiddenField id="hfStuff" runat="server" />

JQuery:

$("#<%= hfStuff.ClientID %>").val("my value");

затем вы можете получить доступ к hfStuff.Value из кода.

Как я уже сказал, грязно, но иногда выполняет работу.

1 голос
/ 06 марта 2012

Если actionname является переменной javascript, вы не можете сделать это: метод @Url.Action выполняется на стороне сервера, прежде чем он будет возвращен клиенту.Таким образом, javascript, который выполняется на клиенте, не может отправлять информацию в вызов @Url.Action.

Если это все еще так, вы можете просто передать actionname в качестве аргумента для действия, котороеопределяет, куда его направить.

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