/ / Задаване на атрибут lang на HTML таг [дублиране] - c #, asp.net, webforms

Настройване на атрибута lang на HTML таг [duplicate] - c #, asp.net, webforms

Искам да настроя атрибута lang на HTML етикета в уеб формуляри, така че в случая с английския език изходът да бъде

<html lang="en">

Ето как го правя; в маркиране имам това:

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

И в кода зад, имам това:

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

Проблемът е, че действителният изход е

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

Идентификаторът на маркера все още е налице, затова се опитах да добавя това:

SomeID.Attributes.Remove("id");

Но идентификационният номер все още се показва.

Как да настроя атрибута lang в моя код зад файла, така че HTML етикетът да има само атрибута lang.

Благодаря.

Отговори:

0 за отговор № 1

Можете да добавите RegistryScript и да прехвърлите езиковата стойност на javascript функцията. В HTML можете да добавите този атрибут чрез тази функция на javascript.


0 за отговор № 2

Ето решение, използващо Jquery:

Ето как би трябвало да изглежда вашият html (aspx):

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

А на сървърния код (aspx.cs):

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