我用stringbuilder创建了一个动态表。我得到了一个带有根元素的表。要求是在单击此根元素时,应填充子表。那么如何为这个根表编写click事件呢? 我试过以下代码。 onclick事件未触发。
StringBuilder Builder = new StringBuilder();
Builder.Append(@"<table border=1;").Append("id=Tableid;").Append("onclick=GetchildDiv()>").Append("<tr><td>").Append(Mainrow["Title"]).Append("</td></tr></table>");
答案 0 :(得分:5)
你的代码错了。试试这个:
Builder
.Append(@"<table border=1 ") // remove semi-colon and add space
.Append("id=Tableid ") // remove semi-colon and add space
.Append("onclick=\"GetchildDiv();\">") // wrap the function-name by "
.Append("<tr><td>")
.Append(Mainrow["Title"])
.Append("</td></tr></table>");
答案 1 :(得分:3)
你可以使用StringBuilder来做到这一点。
System.Text.StringBuilder Builder = new System.Text.StringBuilder();
Builder.Append("<table border=\"1\" ").
Append("id=\"Tableid\" ").
Append("onclick=\"GetchildDiv()\">").
Append("<tr><td>").
Append(Mainrow["Title"]).
Append("</td></tr></table>");
如果你做MVC我建议使用TagBuilder类。
答案 2 :(得分:2)
属性之间需要空格,不是分号(;
)。你应该引用属性值:
Builder.Append(@"<table border=""1"" ")
.Append("id=\"Tableid\" ")
.Append("\"onclick=GetchildDiv();\">")
.Append("<tr><td>")
.Append(Mainrow["Title"])
.Append("</td></tr></table>");
虽然您可以使用AppendFormat
,但为了便于阅读:
Builder.Append(@"<table border=""1"" id=""Tableid"" onclick=""GetchildDiv();"">")
Builder.AppendFormat(@"<tr><td>{0}</td></tr></table>", Mainrow["Title"]);