0
큰 문제가 있습니다. 내 ..._ItemDataBound(...)
이벤트에서 내 DataList
에있는 컨트롤을 찾을 수 있지만, AsyncPostBackTrigger
컨트롤을 찾을 수 없다면 큰 문제가 있습니다. 나 널. 코드 숨김asp.net findcontrol 메서드는 null을 반환합니다. AsyncPostBackTrigger
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DataList ID="DataListGallery" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" OnItemDataBound="DataListGallery_ItemDataBound" >
<ItemTemplate>
<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
<asp:HiddenField ID="FieldPhoneId" Value='<%# Eval("Phone_InfoID") %>' runat="server" />
<img src="../images/cart.gif" alt="" title="" border="0" class="left_bt" /></a>--%>
<asp:ImageButton ID="btnShop" OnClick="btnShop_Click" ImageUrl="images/cart.gif" CssClass="left_bt_item" title="header=[خريد] body=[ ] fade=[on]" runat="server" />
<img src="../images/favs.gif" alt="" title="" border="0" class="left_bt" /></a>--%>
<asp:ImageButton CssClass="left_bt_item" title="header=[مورد علاقه] body=[ ] fade=[on]" OnClick="btnFavourite_Click" ID="btnFavourite" ImageUrl="images/unfav.png" runat="server" />
<img src="../images/favorites.gif" alt="" title="" border="0" class="left_bt" /></a>--%>
</LoggedInTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="Command"></asp:AsyncPostBackTrigger>
<asp:AsyncPostBackTrigger ControlID="LinkButton2" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton3" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton4" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton5" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton6" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton7" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton0" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="btnSearchHead" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="LinkButton8" EventName="Command" />
<asp:AsyncPostBackTrigger ControlID="lnkNext" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="lnkPrevious" EventName="Click" />
</Triggers>
과 : 내가 로그인을하고있어 AsyncPostBackTrigger
를 사용하는 경우
protected void DataListGallery_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (User.Identity.IsAuthenticated)
{
// Get LoginView for access to ImageButton on it.
var loginView = e.Item.FindControl("LoginView1");
ImageButton btnFav = (ImageButton)loginView.FindControl("btnFavourite");
HiddenField hf = (HiddenField)loginView.FindControl("FieldPhoneId");
List<int> listFav = (List<int>)Session["Fav"];
if (listFav.Contains(int.Parse(hf.Value)))
btnFav.ImageUrl = "~/images/favs.gif";
}
}
, 나는이 컨트롤에 액세스 할 수 없습니다 btnFav
및 hf
을
여기 내 영문 코드입니다. 그들은 LoginView
안에 있음을 주목하십시오.
감사합니다.