将DataBound下拉列表放入TableCell

时间:2014-12-30 00:47:51

标签: asp.net .net drop-down-menu webmethod tablerow

我有一个绑定下拉列表,我想放入表格单元格。我已经习惯了标签和文本框,但我似乎无法使用这个语法。此代码位于Webmethod内,我的输出必须只是html。谢谢。

[System.Web.Services.WebMethod]
public static string gatherSurchargeData(string PriceListItemID, string ProdID, string ColorCode)
{
DataTable GetProductSizes = new DataTable();

GetProductSizes = DataLayer.PricingToolDL.getProductSizes(ProdID, ColorCode);

DataTable dt = new DataTable();

dt = DataLayer.PricingToolDL.getScharge(PriceListItemID);

Table tblScharges = new Table();
tblScharges.ID = "tblScharges";

TableHeaderRow th = new TableHeaderRow();

TableHeaderCell thSizeScharge = new TableHeaderCell();

thSizeScharge.Text = "Size";

th.Cells.Add(thSizeScharge);

tblScharges.Rows.Add(th);

int i = 0;

    while (i <= dt.Rows.Count - 1)
    {
        TableRow tr = new TableRow();
        tr.ID = "tableTr" + i;
        TableCell tcSizeScharge = new TableCell();

        DropDownList ddl = new DropDownList();

        ddl.DataSource = GetProductSizes;
        ddl.DataTextField = "FitSize";
        ddl.DataValueField = "FitSize";
        ddl.DataBind();

        //string dtMovexSKU = dt.Rows[i]["MovexSKU"].ToString();
        //DataRow[] GetProductSizesMovexSKU = GetProductSizes.Select("MovexSKU Like'" + dtMovexSKU + "'");

        //tcSizeScharge.ID = "tcSizeScharge" + i;

        //tcSizeScharge.Text = GetProductSizesMovexSKU[0][1].ToString();

        tr.Cells.Add(tcSizeScharge);

        tblScharges.Rows.Add(tr);
        i++;
    }

string html = "";
using (StringWriter sw = new StringWriter())
{
    tblScharges.RenderControl(new HtmlTextWriter(sw));
    html = sw.ToString();
}

return html;
}

注释行将是我将使用的代码,如果我只想要文本出现,如果这有帮助。

1 个答案:

答案 0 :(得分:1)

您需要像这样在

中添加表格中的控件
tcSizeScharge.Controls.Add(ddl);