Je suis nouveau à ASP.NET AJAX et j'essaie d'obtenir une zone de texte de statut/bouton pour permettre aux utilisateurs de mettre à jour un statut sans post-retour. J'ai un tag de gestionnaire de script sur la page maître avec "enablepartialrendering" défini sur "true". J'ai aussi un tag updatepanel sur la page de contenu. Quand j'essaye cela, les postbacks de la page et rien ne se passe. Qu'est-ce que je fais de mal? J'utilise ASP.NET 3.5/C#. Merci.Obtenir post-retour et aucune mise à jour lors de l'utilisation ASP.NET AJAX
La page principale a la balise script suivant juste en dessous de la balise form:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
Et quelque part sur la page existe une ContentPlaceHolder:
<asp:ContentPlaceHolder ID="ContentCenter" runat="server">
</asp:ContentPlaceHolder>
étiquette de contenu associé du ContentPlaceHolder ressemble à ceci:
<asp:Content ContentPlaceHolderID="ContentCenter" runat="server">
<div class="divContainer">
<div class="divContainerBox">
<div class="divContainerTitle">
Network Activity</div>
<div class="divContainerRow">
<asp:Panel ID="pnlStatusUpdate" runat="server">
<asp:TextBox Width="400" Height="50" Style="font-size: 9px; padding-left: 0px; padding-right: 0px;"
ID="txtStatusUpdate" runat="server"></asp:TextBox>
<br />
<asp:Button Style="font-size: 9px; padding-left: 0px; padding-right: 0px;" ID="BtnAddStatus"
runat="server" Text="Add" /><br />
<asp:Repeater ID="repFilter" runat="server">
<ItemTemplate>
<asp:Label ID="lblMessage" runat="server" Text='<%# ((Alert)Container.DataItem).Message %>'></asp:Label>
</ItemTemplate>
<SeparatorTemplate>
<hr />
</SeparatorTemplate>
</asp:Repeater>
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</asp:Panel>
</div>
</div>
</div>
</asp:Content>
Et voici la méthode serveur. Il ne renvoie rien - il envoie les données à "SaveStatusUpdate" à la base de données. La prochaine mise à jour apparaîtra à la prochaine publication de la page. Ce que je veux est pas de publication et pour le texte entré qui était entrée (plus tout texte qu'un ami pourrait avoir entré) à apparaissent lorsque le bouton de mise à jour de statut est cliqué.
protected void BtnAddStatusClick(object sender, EventArgs e)
{
var su = new StatusUpdate
{
CreateDate = DateTime.Now,
AccountId = _userSession.CurrentUser.AccountId,
Status = txtStatusUpdate.Text
};
_statusRepository.SaveStatusUpdate(su);
_alertService.AddStatusUpdateAlert(su);
}
Je suppose que quelqu'un pourrait demander ce que la méthode « AddStautsUpdateALert » ressemble, si elle est ici. Le "_alertMessage" est la mise à jour d'état. Comment l'afficher avec AJAX?
public void AddStatusUpdateAlert(StatusUpdate statusUpdate)
{
_alert = new Alert
{
CreateDate = DateTime.Now,
AccountId = _userSession.CurrentUser.AccountId,
AlertTypeId = (int) AlertType.AlertTypes.StatusUpdate
};
_alertMessage = "<div class=\"AlertHeader\">" + GetProfileImage(_userSession.CurrentUser.AccountId) +
GetProfileUrl(_userSession.CurrentUser.UserName) + " " + statusUpdate.Status + "</div>";
_alert.Message = _alertMessage;
SaveAlert(_alert);
SendAlertToFriends(_alert);
}