2017-07-10 5 views
0

Mon scénario actuel est que j'ai récupéré le HTML d'une page à l'aide de la méthode suivante.Bouton Ajouter un lien à un emplacement spécifique

readStream = New StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)) 
Dim fullString As String = readStream.ReadToEnd() 

je l'ai fait plus la mise en forme du HTML avant de le mettre à la innerHtml de mon div.

displaystring = Regex.Replace(fullString, "<div.*?>", "<div>") 
displaystring = Regex.Replace(fullString, "<span.*?>", "<span>") 
displaystring = Regex.Replace(fullString, "<table.*?>", "<table>") 

Par exemple, j'ai une partie de le code HTML qui est

<a>Brazil</a> 

et moi avons essayé fullstring = Regex.Replace(fullstring, "<a>Brzail</a>", <asp:Linkbutton name="lnkTest" runat="server"). Et je me suis rendu compte que cela ne peut pas fonctionner car Les contrôles ASP ne peuvent pas être ajoutés en tant que chaîne.

Comment puis-je control.Add juste après <a>Brazil</a>? Toutes les autres suggestions sont les bienvenues aussi.

Répondre

0

Vous ne pouvez pas ajouter le contrôle serveur ASP.Net comme ceci. Vous pouvez utiliser la balise ou le bouton d'ancrage html control et cliquer sur ce bouton pour faire un appel AJAX. Exemple de code sera comme celui-ci

fullstring = Regex.Replace(fullstring, "<a>Brzail</a>", "<a href='#' onclick='clickMe'>Link</a>") 

dans le côté serveur C# vous pouvez écrire une méthode page comme `

[PageMethod] 
public static string MyMethod() 
{ 
//Your logic 
    return ""; 
} 

` javascript

function cickMe() 
{ 
    $.ajax({ 
     url: "Sample.aspx/MyMethod", 
     success: function(data){ 
     //your logic 
     } 
    }); 
}