0

お返事をありがとうございます。「最初にクリック」リンクをクリックすると、ブラウザの URL が変わります。2番目のリンクをクリックすると、ブラウザのURLも更新されますが、更新パネルにある「更新ボタン」をクリックすると、サーバー機能がポストバックされます。

その後、いずれかのリンク ボタンをクリックすると、URL の更新機能が機能しません。

更新パネル機能の後に jQuery コードを再初期化するアイデアはありますか?

更新パネルで jQuery を使用する場合、ページの読み込みごとに再初期化する必要があることはわかっていますが、asp.net ページ読み込みイベントで呼び出す jQuery プラグインの正しい jQuery 関数を見つけることができません。

これがそのjQueryプラグインのリンクです

http://code.google.com/p/news21-berkeley/source/browse/branches/v2011/js/jquery.address-1.4.min.js?spec=svn671&r=671

//Page Updating.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UpdatingUrl.aspx.cs" Inherits="UpdateUrl.UpdatingUrl" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="jquery-1.6.min.js" type="text/javascript"></script>
    <script src="jquery.address-1.4.min.js" type="text/javascript"></script>
    <style type="text/css">
        .style1
        {
            width: 100%;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel runat="server" ID="UpdatePanel" UpdateMode="Conditional">
        <ContentTemplate>
            <table class="style1">
                <tr>
                    <td>
                        <a href="#" rel="address:/section/?id=1&amp;name=Ravindra nofollow">Click it first</a>
                    </td>
                <td>
                    <asp:Button runat="server" ID="UpdateButton1" OnClick="UpdateButton_Click" Text="Update" />
                    <asp:Label runat="server" ID="DateTimeLabel1" />
                </td>
            </tr>
            <tr>
                <td>
                    <a href="#" rel="address:/section/?id=2&amp;name=Chauhan nofollow">Click it after Update
                        Button click</a>
                </td>
                <td>
                    &nbsp;
                </td>
            </tr>
        </table>
    </ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>

//UpdatingUrl.aspx.cs Page

    protected void UpdateButton_Click(object sender, EventArgs e)
    {
        DateTimeLabel1.Text = DateTime.Now.ToString();
    }     
4

1 に答える 1

1

_endRequest、_beginRequestハンドラーが必要です。コードビハインドでこれを追加します。

public object endRequestHandle { get; set; }

public object beginRequestHandle { get; set; }

aspxページに、次を追加します。

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
        function beginRequestHandle(sender, Args) {
           //call any function if you want before Ajax update/request begins
        }

        function endRequestHandle(sender, Args) {
         $.getScript("jquery.address-1.4.min.js", function(data, textStatus, jqxhr){});
        }

これで動作し、スクリプトがリロードされて実行されます。$ .getScript()の詳細はこちら

于 2012-06-22T11:33:55.230 に答える