/ / Lang-Attribut des HTML-Tags festlegen [duplicate] - c #, asp.net, webforms

Einstellen des Attributs language des HTML-Tags [duplizieren] - c #, asp.net, webforms

Ich möchte das lang-Attribut des HTML-Tags in Webforms so festlegen, dass im Fall von Englisch die Ausgabe erfolgt

<html lang="en">

So mache ich es; In Markup habe ich Folgendes:

<html id="SomeID" runat="server">

Und im Code dahinter habe ich folgendes:

SomeID.Attributes.Add("lang", "en"); // or SomeID.Attributes.Add("lang", "fr");

Das Problem ist, dass die tatsächliche Ausgabe ist

<html id="SomeID" lang="en">

Die ID des Tags ist immer noch vorhanden, also habe ich Folgendes hinzugefügt:

SomeID.Attributes.Remove("id");

Die ID wird jedoch immer noch angezeigt.

Wie setze ich das lang-Attribut in meiner Code-Behind-Datei so, dass das HTML-Tag nur das lang-Attribut hat

Vielen Dank.

Antworten:

0 für die Antwort № 1

Sie können RegisteredScript hinzufügen und den Sprachwert an die Javascript-Funktion übergeben. In HTML können Sie dieses Attribut über diese JavaScript-Funktion hinzufügen.


0 für die Antwort № 2

Hier ist eine Lösung mit Jquery:

So sollte Ihre HTML (Aspx) aussehen:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#SomeID").removeAttr("id");
});
</script>


<html id="SomeID"  runat="server" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>

Und auf dem Servercode (aspx.cs):

protected void Page_Load(object sender, EventArgs e)
{
SomeID.Attributes.Add("lang", "en");
}