2010-06-09 10 views
1

Je développe un blog en utilisant ASP.NET, et je veux que l'utilisateur peut ajouter des commentaires.ajouter des commentaires comme facebook avec ASP.NET

Donc je veux mettre en œuvre l'idée de facebook lors de l'ajout de commentaires.

Le commentaire sera stocké dans le database, donc je serai en mesure de le charger avec la page si l'utilisateur va à une autre page Web.

Vous avez une idée de comment je peux faire cette chose (Ajax, Javascript, jQuery, Ajax Toolkit)?

EDIT:

Je trouve ceci:

<body> 

<form id="form1" runat="server"> 

<p> 

<textarea id="textArea"></textarea> 

</p> 

<input type="submit" value="Commenter"/> 

<br /> 

</form> 

<p>Add some Test to the page</p> 

</body> 

et script.js:

window.onload = initAll; 

function initAll() { 

document.getElementsByTagName("form")[0].onsubmit = addNode; 

} 

function addNode() { 

var inText = document.getElementById("textArea").value; 

var newText = document.createTextNode(inText); 

var newGraf = document.createElement("p"); 

newGraf.appendChild(newText); 

var docBody = document.getElementsByTagName("body")[0]; 

docBody.appendChild(newGraf); 

return false; 

} 

Mais comment puis-je enregistrer le commentaire dans la base de données, car un bouton d'entrée peut » t fais ça!

+0

Vous aurez besoin de plus de Javascript, c'est sûr. Il ne peut pas faire des bases de données nativement. –

+0

Ajax et Ajax toolkit sont presque synonymes, ils sont généralement utilisés pour la fonctionnalité et "précompenser" comme les temporisateurs, les publications asynchrones, etc. Vous vous inquiétez pour cette partie en dernier, et obtenez votre modèle de base en premier. –

+0

Et, ASP.NET prend en charge nativement les opérations de base de données, vous ne devriez avoir aucun problème pour obtenir votre modèle de base juste avec cela et votre base de données. Cependant, les amateurs de JQuery vont crier avec des poings levés "Utilisez JQuery!" Chez vous, il est facile de faire ce genre de chose sans cela. –

Répondre

1

En général, si vous utilisez GridView Pour afficher ces articles de blog, ajoutez simplement un champ de modèle dans le Gridview. À l'intérieur du modèle déposé, vous mettez une boîte de texte et un bouton.

Lorsque l'utilisateur clique sur le bouton, utilisez votre code pour trouver le postID et la zone de texte, et enregistrez-le dans la base de données, puis n'oubliez pas de lier à nouveau les données à la grille.

Voici un exemple de code.

protected void btnBuy_Click(object sender, ImageClickEventArgs e) 
{ 
    ImageButton btnBuy = (ImageButton)sender; //Find which button is clicked. 
    //If that is a button, use Button btnBuy = (Button)Sender; 

    GridViewRow row = (GridViewRow)btnBuy.NamingContainer; //Find which gridview row  //containes the clicked button 

    Label lblPostID = (Label)row.FindControl("lblPostID"); //Find the post ID 
    TextBox txtComment = (TextBox)row.FindControl("txtComments"); //Find the textbox 

    //Save the data to database. 
    //Put your code here. 

    //Bind the gridview with the data source which got some new data. 
    GridView1.DataSource = yourDataSource; 
    GridView1.DataBind(); 
} 
+0

voir les mises à jour. –

2

Vous n'avez pas nécessairement besoin d'utiliser JavaScript pour ce faire, mais si vous souhaitez le faire de manière asynchrone pour fournir une expérience utilisateur plus réactive, vous aurez besoin de JavaScript. En utilisant les formulaires Web ASP.NET, il y a plusieurs façons de configurer cela sur le serveur. Vous pouvez utiliser

  1. Page methods
  2. ASMX web services
  3. WCF services

Et les appeler en utilisant JavaScript du côté client. À l'intérieur du code côté serveur se trouve l'endroit où vous allez vous connecter à la base de données, effectuez votre opération CRUD et renvoyez une réponse au client qui a fait l'appel AJAX.

Une note sur la sécurité - vous voulez désinfecter les commentaires et atténuer l'injection SQL, XSS, XSRF et d'autres types d'attaques par injection. Le Anti-XSS library (bientôt supplantées par la bibliothèque de la protection Web) est un bon outil pour tirer parti de le faire et offre une meilleure approche de codage que le codage standard dans ASP.NET

+0

Je suis perdu devant toutes ces choses. –

+0

disons comment puis-je implémenter des commentaires comme stackoverflow? –

+4

Je vous recommande de vous concentrer sur l'utilisation de l'approche de publication standard en premier, en associant un gestionnaire d'événements du côté serveur à l'événement click d'un contrôle de bouton pour envoyer un commentaire. Une fois que vous avez ce travail, alors regardez pour introduire AJAX dans l'image. –

Questions connexes