使用字符串生成器的动态表问题
本文关键字:动态 问题 字符串 | 更新日期: 2023-09-27 18:11:45
我用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>");
你的代码是错误的。试试这个:
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>");
你可以用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类。
属性之间需要空格,不是分号(;
)。你应该引用属性值:
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"]);