设置HTML标记的lang属性

时间:2014-06-30 18:47:25

标签: c# asp.net webforms

我想在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属性。

感谢。

2 个答案:

答案 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");
}