C# asp.net标签永远无法从代码隐藏中修改

C# asp.net标签永远无法从代码隐藏中修改,c#,asp.net,.net,updatepanel,C#,Asp.net,.net,Updatepanel,我有一个包含asp.net标签的面板/更新面板。似乎在任何情况下都不能更改此控件的文本字段。代码: <asp:Panel runat="server" ID="Panel1" Width="100%"> <asp:UpdatePanel runat="server" ID="updRouteGroup" UpdateMode="Conditional"> <Triggers> <asp:PostBackTrig

我有一个包含asp.net标签的面板/更新面板。似乎在任何情况下都不能更改此控件的文本字段。代码:

    <asp:Panel runat="server" ID="Panel1" Width="100%">
    <asp:UpdatePanel runat="server" ID="updRouteGroup" UpdateMode="Conditional">
      <Triggers>
        <asp:PostBackTrigger ControlID="btnDisableOnHold" />
      </Triggers>
      <ContentTemplate>        
       <asp:Panel ID="pnlImpExcel" runat="Server" >
      <div style="width:100%">
       <table colspan="0" width="100%" cellpadding="0" cellspacing="0">
          <tr>
             <th colspan="3">
                On Hold Music
             </th>
          </tr>
          <tr style="height:10px"></tr>
          <tr>
             <td align="left" valign="middle" style="width:33%"><div id="fine-uploader"></div></td>
             <td align="center" valign="middle"><asp:Label ID="lblOnHoldFile" runat="server" Text="Current file: none" /></td>
             <td align="right" valign="middle"><asp:Button ID="btnDisableOnHold" runat="server" style="margin-right:7px;width:87px;" Text="Disable Hold Music" CssClass="button" OnClick="btnDisableOnHold_OnClick" /></td>
          </tr>
          <tr><td colspan ="2" align="center"><asp:Label runat="server" ID="lblUploadError" style="color: Red;" Visible="false" /></td></tr>
       </table>              
       </div>
       </asp:Panel> 
       </ContentTemplate> 
    </asp:UpdatePanel> 
    </asp:Panel>
这段代码可能不好,我对ASP.NET几乎没有经验,并且继承了这个项目。但我仍然无法理解,如果您根本无法修改这些标签,那么在代码背后公开这些标签的意义何在。如何设置控件lblOnHoldFile的.Text字段?谢谢

以下是Btnisablehold_OnClick中的内容:

  protected void btnDisableOnHold_OnClick(object sender, EventArgs e)
  {
     //Update some records

     // Clear out any existing file from the label:
     lblOnHoldFile.Text = "Current file: none";
  }
kmarks2

您的标记:

C代码隐藏:

kmarks2

您的标记:

C代码隐藏:

尝试在更改标签文本的行后添加UpDrootGroup.Update。 由于标签位于具有UpdateMode条件的UpdatePanel中,因此需要具有显式调用的此行。但当单击按钮btnDisableOnHold时,不应要求该选项

或者只需将UpdateMode更改为Always,就可以了

要了解有关更新面板及其UpdateMode属性的更多信息,请查看以下链接:

尝试在更改标签文本的行后添加UpDrootGroup.Update。 由于标签位于具有UpdateMode条件的UpdatePanel中,因此需要具有显式调用的此行。但当单击按钮btnDisableOnHold时,不应要求该选项

或者只需将UpdateMode更改为Always,就可以了

要了解有关更新面板及其UpdateMode属性的更多信息,请查看以下链接:


这就是你的问题,这一行:

lblOnHoldFile.Text = "Current file: none";
您已经用单击事件处理程序中的上一行撤消了在Page_Load中所做的文本更改

标签的文本属性更改了两次;一次加载到页面中的某些文本,然后在btnDisableOnHold\u OnClick方法中返回其原始值。这使得设置文本值似乎没有任何作用,而实际上它已被更改

更新:

要让JavaScript为代码创建回发,则需要调用uu doPostBack函数


阅读

这是你的问题,这一行:

lblOnHoldFile.Text = "Current file: none";
您已经用单击事件处理程序中的上一行撤消了在Page_Load中所做的文本更改

标签的文本属性更改了两次;一次加载到页面中的某些文本,然后在btnDisableOnHold\u OnClick方法中返回其原始值。这使得设置文本值似乎没有任何作用,而实际上它已被更改

更新:

要让JavaScript为代码创建回发,则需要调用uu doPostBack函数



阅读

好吧,你打算如何改变它?你能给我们看一下你的代码吗?当然我忘了添加一个重要的细节。我刚刚在一篇编辑文章中将这篇文章添加到文章中。@kmarks2也许你需要了解一下你页面的生命周期。如果您想更改任何其他事件中的文本,则加载页面时将发生Page_Onload(页面加载)。@KMARK2-请参阅我的答案,以了解设置text属性似乎不起任何作用的原因。@KMARK2您正在按钮单击事件中更改回文本。不知道为什么。但那是你的理由。那么,你打算怎么改变它呢?你能给我们看一下你的代码吗?当然我忘了添加一个重要的细节。我刚刚在一篇编辑文章中将这篇文章添加到文章中。@kmarks2也许你需要了解一下你页面的生命周期。如果您想更改任何其他事件中的文本,则加载页面时将发生Page_Onload(页面加载)。@KMARK2-请参阅我的答案,以了解设置text属性似乎不起任何作用的原因。@KMARK2您正在按钮单击事件中更改回文本。不知道为什么。但这就是你的原因。这基本上就是我所做的,除了在ContentTemplate中。它仍然不起作用。我可以通过调试器和gaurantee执行这行,但它从来没有真正做过任何事情。啊,对不起。你当时没有用很多代码更新你的OP,我不知道。这基本上就是我所做的,除了在ContentTemplate中。它仍然不起作用。我可以通过调试器和gaurantee执行这行,但它从来没有真正做过任何事情。啊,对不起。你当时没有用很多代码更新你的OP,我不知道。我试着打电话。更新,但这不起作用。我还尝试将模式设置为“始终”,但也不起作用。我尝试呼叫。更新,但不起作用。我还尝试将模式设置为“始终”,但这也不起作用。我正在尝试在btnDisableHold甚至未被单击时更新此标签,以便在我尝试的情况下不会执行代码。还有什么代码?您的代码中只有一个按钮,它正在调用我的答案中引用的行。在我发布的标记中,除了按钮之外,还有一个div。填充到此div的是
第三部分是上传控制。我想在该div中与FineUploader相关的javascript执行某些操作时触发回发。但是,您只能引用javascript或div作为回发触发器。我正在尝试在btnDisableHold甚至还没有被单击的时候更新此标签,以便代码在我尝试的情况下不会执行。还有什么代码?您的代码中只有一个按钮,它正在调用我的答案中引用的行。在我发布的标记中,除了按钮之外,还有一个div。该div中填充了一些用于第三部分FineUploader控件的javascript。我想在该div中与FineUploader相关的javascript执行某些操作时触发回发。但您只能将对javascript或div的引用作为回发触发器。
lblOnHoldFile.Text = "Current file: none";