0

言語: C#
コンパイラ: Visual Studio 2012
O/S: Windows 7 Home Premium

テキストボックス内のテキストに基づいて画像を更新するために、しばらくの間コンテンツページでを使用していUpdatePanelます。 今まではすべてうまくいきました。現在、ページは部分的なポストバックではなく、完全なリロードを行って画像を表示します。

.aspx コード

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
            <ContentTemplate>
                <asp:Image ID="imgProfilePicture" runat="server" />
                <br />
                <asp:TextBox ID="txtImageLocation" runat="server" AutoPostBack="True" MaxLength="1000" CssClass="styleTextBoxCenter" Width="170px" OnTextChanged="txtImageLocation_TextChanged"></asp:TextBox><br />
                <div style="padding-left: 4px;">
                    <asp:Label ID="lblImageUrl" runat="server" Text="Image URL" CssClass="styleLabelWatermark"></asp:Label>
                </div>
            </ContentTemplate>

            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="txtImageLocation" EventName="TextChanged" />
            </Triggers>
        </asp:UpdatePanel>

.cs コード

protected void txtImageLocation_TextChanged(object sender, EventArgs e)
    {
        if(string.IsNullOrEmpty(txtImageLocation.Text))
        {
            imgProfilePicture.ImageUrl = RemoteReaderPlugin.Current.CreateSignedUrl("http://i.minus.com/iNQ7wK2opRJT1.gif",
                                                                                    new ResizeSettings(
                                                                                        "width=183&format=png"));
            lblImageUrl.Text = "Image URL";
            return;
        }
        if (!@txtImageLocation.Text.StartsWith("http://"))
        {
            @txtImageLocation.Text = "http://" + @txtImageLocation.Text;
        }
        WebRequest request = WebRequest.Create(@txtImageLocation.Text);

        try
        {
            request.GetResponse();
            imgProfilePicture.ImageUrl = RemoteReaderPlugin.Current.CreateSignedUrl(@txtImageLocation.Text,
                                                                                    new ResizeSettings(
                                                                                        "width=183&s.roundcorners=10"));
            lblImageUrl.Text = "Image Verified";
            lblImageUrl.ForeColor = System.Drawing.Color.Green;
        }
        catch (Exception)
        {
            imgProfilePicture.ImageUrl =
                RemoteReaderPlugin.Current.CreateSignedUrl(
                    "http://i.minus.com/ibwhXZ9wLo1mOz.jpg",
                    new ResizeSettings("width=183&s.roundcorners=10"));
            lblImageUrl.Text = "Invalid URL";
            lblImageUrl.ForeColor = System.Drawing.Color.Red;
            txtImageLocation.Focus();
        }
    }

変更したことは何も思い浮かびません。マスターページはまだScriptManagerオンになっています。

4

1 に答える 1

1

UpdatePanelで「グローバル」ルートを設定すると、すべての機能が失われることがわかりましGlobal.asaxた。

を追加したときに問題が発生しましroutes.MapPageRoute("", "{address}", "~/{address}.aspx");た。

取り外すと、ajaxパネルは機能しました。

于 2012-09-18T13:12:14.430 に答える