如何在 StringBuilder 上添加 CheckBoxList 项用于 Linq

How to add CheckBoxList item on StringBuilder Use to Linq

如何在 String Builder 上添加 CheckBoxList 项。

CheckBoxList cblItem = new CheckBoxList();
cblItem.ID = "cblItem";

var MainCatGroup = subCatDet.GroupBy(q => q.catCode).Select(q => new { CatName = q.Key, Items = q.ToArray() }).Select(q => new { CatName = q.CatName, Items = q.Items.OrderBy(t => t.catCode).ToArray() }).ToArray();
foreach (var mainCat in MainCatGroup)
{
    sb.Append(string.Format("<li><a href=\"javascript:void(0)\">{0}</a>", mainCat.CatName.ToString()));
    sb.Append(string.Format("<ul>"));

    foreach (var item in mainCat.Items)
    {
        string Subcat = item.subCat.ToString();
        string catCode= item.catCode.ToString();
        sb.Append(string.Format("<li>"));
----->  sb.Append(string.Format(cblItem.Items.Add(new ListItem("{0},{1}")), Subcat, catCode));     <----
        sb.Append(string.Format("</li>"))
     }
        litList.Text = sb.ToString();
    }

那么,我如何在该行下方进行编辑?

sb.Append(string.Format(cblItem.Items.Add(new ListItem("{0},{1}")), Subcat, catCode));

你可能想做这样的事情:

cblItem.Items.Add(new ListItem(sb.ToString()), Subcat, catCode);

或更好:

cblItem.Items.Add(new ListItem(string.Format("{0},{1}", Subcat, catCode));

你也不应该混淆命名规则。 Subcat 和 MainCatGroup 局部变量不应以大写字母命名。

而在你也可以试试StringFormat.AppendFormat (more details here):

sb.AppendFormat("2) {0}, {1}", var1, var2);