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ď č. 1Môž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");
}