假设我有一个母版页,其中定义了<html>
元素。然后我有一个使用所述母版页的default.aspx页面。如何修改default.aspx后面代码中的<html>
标记?特别是,我想更改其上的属性值“data-custom”,因此它呈现为<html data-custom="my dynamic value">
。
答案 0 :(得分:4)
您只需提供<html id="mainhtml" runat="server" >
mainhtml即可在后面的代码mainhtml.Attributes["data-custom"] = "my dynamic value";
中使用。不是最好的做法。
答案 1 :(得分:0)
您只能通过Request
对象访问位于服务器上运行的主窗体内的元素。你不能直接访问HTML。
<html>
标签,但它值得一试。
我会为你写一个例子,你可以同时看一下。
编辑:
这是一个例子:
.aspx的:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function attachDataToHTML(myAttribute,myData) {
htmlElement = document.getElementsByTagName("html")[0];
var att = document.createAttribute(myAttribute);
att.value = myData;
htmlElement.setAttributeNode(att);
}
</script>
</head>
<body>
<form runat="server">
<asp:Button runat="server" Text="test" OnClick="Unnamed1_Click"></asp:button>
</form>
</body>
</html>
CS:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Unnamed1_Click(object sender, EventArgs e)
{
string myCustomAttribute_Name="testAttribute";
string myCustomAttribute_Data="testData";
Page.ClientScript.RegisterStartupScript(
GetType(),
"someUniqueKeyWhatever",
"attachDataToHTML('"+myCustomAttribute_Name+"','"+myCustomAttribute_Data+"');",
true);
}
}
在你后面的代码中调用javascript函数并将她的自定义属性和数据传递给她,然后将它添加到html元素中。