Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ajax更新面板和样式_C#_Asp.net_Ajax_Panels - Fatal编程技术网

C# Ajax更新面板和样式

C# Ajax更新面板和样式,c#,asp.net,ajax,panels,C#,Asp.net,Ajax,Panels,我有一个带有js和css样式的按钮,每次我点击按钮(回发)时,它都会在更新面板中,它会失去样式吗 <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> </div> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate>

我有一个带有js和css样式的按钮,每次我点击按钮(回发)时,它都会在更新面板中,它会失去样式吗

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</form>
很确定这是个容易的问题,知道吗

<html xmlns="http://www.w3.org/1999/xhtml">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</form>

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</form>

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</form>
函数artButtonSetupJShover(类名){
变量标签=[“输入”、“a”、“按钮”];
对于(var j=0;j
}

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</form>

添加(函数(){artButtonSetupJShover(“艺术按钮”);})

我能想到一些案例

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</form>
  • 您可以更改代码隐藏的样式
  • 您可以使用脚本更改样式,以便在更新后不再运行脚本
  • 您可以更改按钮的DOM选项,使样式不再适用于此位置

  • 。如果您给我们提供代码,也许我们可以看到问题所在。

    如果您使用js设置样式,您可能需要在页面上的ScriptManager中注册该js。这样,脚本将被加载到部分页面回发中。

    您可能在onload事件中用js设置样式,但此事件仅触发一次,然后在每次回发中更新面板不会通过它。您必须像这样附加到PageRequestManager pageloaded事件:

        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
    </div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
    
    在ScriptManager声明之后,您编写此代码,并且每次在内部执行回发时脚本都将运行

        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
    </div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
    
    <script type="text/jscript">
    <!--
     var prm = Sys.WebForms.PageRequestManager.getInstance();
     prm.add_pageLoaded(pageLoaded);
    
     function pageLoaded(sender, args) {
         document.getElementById("Button1").style.fontWeight = "bold";
     }
    -->
    </script>  
    
    
    
    或直接从Sys.Application.add\u加载:

        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    
    </div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" class="art-button" Text="Button" />
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
    
    <script type="text/jscript">
    <!--
     Sys.Application.add_load(
         function pageLoaded(sender, args) {
             document.getElementById("Button1").style.fontWeight = "bold";
         });
    -->
    </script> 
    
    
    
    如何使用i而不是Sys.Application.add\u load(代码)我执行Sys.Application.add\u load(jsfile)?您必须在脚本管理器中注册脚本并调用add中的方法_load@Stacker这是两个选项,在我缺席的情况下另一个答案。