我想在webforms中设置HTML标记的lang属性,这样在英文的情况下,输出将是
<html lang="en">
我就是这样做的;在标记中,我有这个:
<html id="SomeID" runat="server">
在后面的代码中,我有这个:
SomeID.Attributes.Add("lang", "en"); // or SomeID.Attributes.Add("lang", "fr");
问题是实际输出是
<html id="SomeID" lang="en">
标签的ID仍然存在,所以我尝试添加:
SomeID.Attributes.Remove("id");
但身份证仍在显示。
那么如何在我的代码隐藏文件中设置lang属性,以便HTML标记只有lang属性。
感谢。
答案 0 :(得分:0)
您可以添加RegisteredScript并将语言值传递给javascript函数。在HTML中,您可以通过该javascript函数设置添加此属性。
答案 1 :(得分:0)
以下是使用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");
}