代码之家  ›  专栏  ›  技术社区  ›  AGuyCalledGerald Omid.Hanjani

如何通过jquery填充label.text-property

  •  21
  • AGuyCalledGerald Omid.Hanjani  · 技术社区  · 14 年前

    我使用asp.net,在我的页面上有一个label控件,我用它填充 jquery命令

    $('#<%= myLabel.ClientID %>').html(content);
    

    .val()似乎不适用于此。

    不知怎么的,我在获取代码背后的内容时遇到了问题。在代码中,mylabel.text-property仍然是空的。

    2 回复  |  直到 8 年前
        1
  •  35
  •   Nick Craver    14 年前

    如果要在客户端上显示该值并使其在页面上可用,则需要一个输入,当您按如下方式发布时,该输入将被发送到后面的代码:

    $('#<%= myLabel.ClientID %>').html(content);
    $('#<%= myInput.ClientID %>').val(content);
    
    <asp:Label Id="myLabel" runat="server" />
    <asp:HiddenField ID="myInput" runat="server" />
    

    在代码背后:

    myInput.Value
    
        2
  •  8
  •   KP.    14 年前

    我认为你的问题是标签 span 标签)在ASP.NET世界中本质上是只读的。它们不应该用作“输入”控件,因此在服务器端会忽略对其客户端html的更改,服务器端的值是基于viewstate设置的。

    要按照您的要求做,您还必须将更改通知服务器,例如使用ajax。这里唯一的问题是代码隐藏中的ajax webmethods是静态的,因此无法访问页面的控件集来更改.text值。

    最后,最简单的选择是使用尼克所说的隐藏字段。这些是技术上的“输入”控件,它们在客户端上更改的值将按您的需要发送到服务器。您只需在客户机上保持label/span和hidden field/input的同步。

    希望这有帮助。