/ / Nastavenie atribútu lang HTML tagu [duplicate] - c #, asp.net, webforms

Nastavenie atribútu lang značky HTML [duplicate] - c #, asp.net, webforms

Chcem nastaviť atribút lang HTML tagu vo webových formulároch tak, aby v prípade angličtiny bol výstup

<html lang="en">

Takto to robím; v značke mám toto:

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

A v kóde za ním mám toto:

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

Problém je, že skutočný výstup je

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

ID značky je stále prítomné, preto som sa snažil pridať toto:

SomeID.Attributes.Remove("id");

ID sa však stále zobrazuje.

Ako teda nastavím atribút lang v mojom kóde za súborom tak, aby značka HTML obsahovala len atribút lang.

Vďaka.

odpovede:

0 pre odpoveď č. 1

Môžete pridať RegisteredScript a odovzdať hodnotu jazyka do funkcie javascript. V HTML môžete nastaviť tento atribút pomocou tejto funkcie javascript.


0 pre odpoveď č. 2

Toto je riešenie využívajúce Jquery:

Takto by mal váš html (aspx) vyzerať takto:

<%@ 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>

A na serverovom kóde (aspx.cs):

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