私はthis questionとよく似た問題があります。ポストバックの原因となるページのドロップダウンがあり、その間にASP:Image
のImageUrl
プロパティが変更されています。そのポストバックが発生すると、FileUploadにある値はすべてクリアされます。それは私が解決しようとしている問題ですが、私はこの問題に直面しました。UpdatePanel非同期ポストバックでコンテンツが更新されない
私はUpdatePanel
のドロップダウンとイメージを折り返して問題を解決しようとしています。ここに私のASPのマークアップは次のとおりです。
<asp:UpdatePanel ID="upPanel" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="myDropdown"
EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<tr valign="top">
<td>Tag:</td>
<td>
<asp:DropDownList ID="myDropdown" runat="server"
AppendDataBoundItems="true" DataTextField="Name"
DataValueField="ID" AutoPostBack="true">
<asp:ListItem Value="" />
</asp:DropDownList>
</td>
</tr>
<TR vAlign="top">
<TD width="150">Thumbnail:</TD>
<TD>
<asp:Image id="imgThumbnail" Runat="server"
AlternateText="No Image Found"
Visible="false"></asp:Image><BR>
</TD>
</TR>
</ContentTemplate>
</asp:UpdatePanel>
EDIT:私のコードビハインド更新をやってここにある:
Private Sub myDropdown_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles myDropdown.SelectedIndexChanged
If (myDropdown.SelectedValue <> "-1") Then
imgThumbnail.ImageUrl = Application("AppPath") + "/Modules/Broadcaster/ImageGen.ashx?tag=" + myDropdown.SelectedValue
Else
imgThumbnail.ImageUrl = Application("AppPath") + "/Modules/Broadcaster/ImageGen.ashx?defaultTag=" + _modID.ToString()
End If
End Sub
私は非同期ポストバックが放火犯で起こって見ることができますが、画像のURLは変更されません。私は間違って何をしていますか?
VBコードビハインドを追加する質問を編集しました。更新パネルを追加する前にこれはうまくいきました。 UpdatePanelを追加する前にうまくいきました。非同期ポストバックでドロップダウンが正しく設定されないと言っていますか?いずれにせよ、私はddlのchange()イベントでjQueryを使ってイメージパスを変更することでこれを解決しました。この質問は今好奇心の詳細です。 –
正しい。非同期ポストバックは、page_load関数が呼び出される前に(ポストバックのタイプに関係なくページがロードされるたびに呼び出されるため)DDLにデータを入力していないようです。 jQueryは常にオプションです。しかし、私は通常、できるだけ多くのコードをコードビハインドに保存しようとしています。これが、私がこれらの問題に遭遇したときの解決策を考え出した理由です。 – akuta