Искам да настроя атрибута 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");
}