Je crée une boucle dans laquelle chaque ligne est une ligne HTML assez longue sur la page. J'ai essayé différentes combinaisons de @ et de "" ", mais je n'arrive tout simplement pas à comprendre C'est ce que j'ai maintenant, mais les guillemets simples me posent des problèmes sur la page, donc je veux changer tous les guillemets simples en guillemets doubles, tout comme une ligne HTML normale les utiliserait pour les propriétés des éléments: XXX
variables are: starOrBullet appSet LinkID tabID (NOT $TabID=) linkText BTW, appSet="http://linktracker.swmed.org:8020/LinkTracker/Default.aspx?LinkID=" Can someone help me here?
3 Réponses :
Vous devez échapper les guillemets doubles (") avec \"
Pour votre cas:
sOutput += "<div class=\"item link-item " + starOrBullet + "\"><a href=\"" + appSet + linkID + "&TabID=" + tabID + "\" target=â_blankâ>" + linkText + "</a></div>";
Si vous concatez plusieurs chaînes , vous devez utiliser StringBuilder pour des raisons de performances.
Vous pouvez utiliser une chaîne textuelle et échapper un guillemet double avec un guillemet double. Ce sera donc un guillemet double.
var mystring = String.Join( Environment.NewLine, "First Line", "Second Line", "Third Line");
Vous pouvez également raccourcir votre chaîne en procédant comme suit:
Méthode 1
string mystring = "First Line \n" + "Second Line \n" + "Third Line \n";
Vous devez prendre l'habitude d'utiliser la classe C # pour générer plutôt une concaténation Html. Veuillez trouver ci-dessous le code pour générer du HTML en utilisant C #.
Consultez ce lien pour plus d'informations https://dejanstojanovic.net/aspnet/2014/june / generation-html-string-in-c /
https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.htmltextwriter
Trouvez le code ci-dessous pour votre question
protected void Page_Load(object sender, EventArgs e) { string starOrBullet = "star-link"; string appSet = "http://linktracker.swmed.org:8020/LinkTracker/Default.aspx?LinkID="; string LinkID = "2"; string tabID = "1"; string linkText = "linkText_Here"; string sOutput = string.Empty; StringBuilder sbControlHtml = new StringBuilder(); using (StringWriter stringWriter = new StringWriter()) { using (HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter)) { //Generate container div control HtmlGenericControl divControl = new HtmlGenericControl("div"); divControl.Attributes.Add("class", string.Format("item link-item {0}",starOrBullet)); //Generate link control HtmlGenericControl linkControl = new HtmlGenericControl("a"); linkControl.Attributes.Add("href", string.Format("{0}{1}&TabID={2}",appSet,LinkID,tabID)); linkControl.Attributes.Add("target", "_blank"); linkControl.InnerText = linkText; //Add linkControl to container div divControl.Controls.Add(linkControl); //Generate HTML string and dispose object divControl.RenderControl(htmlWriter); sbControlHtml.Append(stringWriter.ToString()); divControl.Dispose(); } } sOutput = sbControlHtml.ToString(); }
Quelles sont les valeurs de vos variables?
Vous pouvez échapper les guillemets dbl dans une chaîne régulière avec
\ "
ou dans des littéraux de chaîne verbatim avec" "
. Exemple:sOutput + = $" {linkText} < / div> ";