вот мой код:обновления панель в диалоговом окне JQuery не деление с работает
<div id="AddFriendDiv" style="display: none">
<asp:TextBox ID="FriendParamtxt" runat="server"></asp:TextBox>
<asp:UpdatePanel ID="upd" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="SearchFriend_btn" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Button ID="SearchFriend_btn" runat="server" OnClick="SearchFriend_btn_Click" Value="Search" />
<asp:Repeater ID="FriendRequestRepeater" runat="server">
<ItemTemplate>
<table border="1">
<tr>
<td>
<img src='<%#Eval("PROFILE_PIC") %>' width="35px" height="35px" alt='<%#Eval("NAME") %>' />
</td>
<td>
<asp:Label ID="Name_lbl" runat="server" Text='<%#Eval("NAME") %>'></asp:Label>
</td>
<td>
<input type="hidden" id="requestFriendID_hf" /><input type="button" id="addFreind"
value="Send Request" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</div>
сторона клиента:
function SendFriendRequest() {
var dialogOption = { title: "<u>Add Friend</u>", width: 280, height: 140, modal: false, resizable: false, draggable: true,
maxHeight: 340, autoOpen: true, closeOnEscape: true
};
var DialogExtendOptions = { "close": true, "maximize": false, "minimize": true, "dblclick": 'minimize', "titlebar": 'transparent' };
$("#AddFriendDiv").dialog(dialogOption).dialogExtend(DialogExtendOptions);
$("#AddFriendDiv").show();
}
сторона сервера:
protected void SearchFriend_btn_Click(object sender, EventArgs e)
{
DataTable frdrequest= new DataTable();
int clientID =int.Parse(UserID.Value.ToString());
if (FriendParamtxt.Text != "")
{
frdrequest = SQLHelper.GetAllClientByParam(FriendParamtxt.Text, clientID);
if (frdrequest.Rows.Count > 0)
{
FriendRequestRepeater.DataSource = frdrequest;
FriendRequestRepeater.DataBind();
}
}
}
SendFriendRequest является неоспоримым называется образует тег снаружи, но проблема в том, что событие нажатия кнопки не срабатывает, когда главный div является диалогом, но когда я изменил его на нормальный div работает нормально, кто-нибудь знает решение для этого?
Как я помню JQuery диалоговое окно удаляется из DIV основного дерева в HTML-ап ставит его в конце HTML - из нормального ASP.NET дерево часть. Вот почему postbacks работают некорректно. Я исправляю это, делегируя все клики на некоторые скрытые кнопки за пределами диалога div (копируя необходимые данные и в некоторые скрытые поля), но это довольно слабое решение - может работать для простых приложений, хотя – Pako
работает, но это происходит после его возврата не делайте этого, я помещаю скрытый бутон за диалоговое окно div, и я вызвал щелчок в поиске btn, но он делает обратную передачу, а div div div ушел из-за обратной передачи – Sora
Если вы поместите эту скрытую кнопку внутри панели обновления, это приведет к только частичная обратная передача. Мои навыки asp.net сейчас немного ржавые, но я уверен, что вы можете заставить его работать – Pako