Измените asp: метку с помощью jQuery, затем получите доступ в коде - PullRequest
2 голосов
/ 01 февраля 2012

Я знаю, безумно верно.

Итак, у меня есть ярлык asp, и я хочу заполнить его jQuery. Позже в коде я хочу получить доступ к этому тексту для чего-то еще.

Что у меня есть:

<asp:Label ID="myLabel" runat="server" />
<asp:Button ID="clickMe" runat="server" Text="Click!" OnClientClick="runMe();" 
   OnClick="clickMe_Click()" />

<script language="javascript" type="text/javascript">

   function runMe () {
      $("#<%=myLabel.ClientID").text("here");}
</script>

protected void clickMe_Click(object sender, EventArgs e)
{
   string isIt = myLabel.Text;
}

Так что, если я поставлю точку останова на любой код, следующий за определением 'isIt', и посмотрю на него, isIt = "". Есть ли способ сделать эту работу? Я предполагаю, что поскольку jQuery действует на html, он фактически изменяет не фактическую метку ASP.NET.

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012

Попробуйте

$('#<%= myLabel.ClientID %>').html("here"); 
(This should work in all the browsers)

Когда я хочу передать значение в код позади страницы, я обычно использую HiddenField и заполняю его с помощью .val () в Jquery. Затем я могу получить доступ к его значению в коде, используя HiddenField1.Value

0 голосов
/ 01 февраля 2012

Попробуйте .val() вместо .text()

Edit: Так как элементы управления ASP.NET отображаются с префиксами, вы также можете рассмотреть, что оканчивается селектором .

$('span[id$="myLabel"]').val("here");
...