1

MasterPage と Content Page があります。ContentPage にはいくつかのラベルがあり、ページを更新せずにコンテンツ ページのボタンをクリックしたときにテキストを変更したいと考えています。

デフォルト.aspx

 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" %>

<script runat="server">

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        Label SensorTemperatureLabel = (Label)this.Master.FindControl("SensorTemperatureLabel");

        if (SensorTemperatureLabel != null)
        {
            SensorTemperatureLabel.Text = "TEST";
        }
    }
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
           <asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" />

</asp:Content>

MasterPage.master ラベル付きのコードの一部

<div class="sidebar">
        <!-- insert your sidebar items here -->
          <asp:UpdatePanel ID="UpdatePanel1" runat="server">
              <ContentTemplate>
                  <asp:Label ID="SensorTemperatureLabel" runat="server" Text="Label"></asp:Label>
              </ContentTemplate>
          </asp:UpdatePanel>
      </div>
4

3 に答える 3

1

ラベルがにない場合は<ContentTemplate />、javascriptでアクセスできます

 var SensorTemperatureLabel = document.getElementById("<%=SensorTemperatureLabel%>");
 SensorTemperatureLabel.innerHTML = "newValue";

それ以外の場合は、IDが生成され、必要になります

var SensorTemperatureLabel = document.getElementById("<%= this.Master.FindControl("SensorTemperatureLabel").ClientID %>");
于 2012-11-23T18:44:54.433 に答える