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 № 1Sie 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");
}