【问题标题】:How to use a drop down list from model in WebGrid MVC C#如何在 WebGrid MVC C# 中使用模型中的下拉列表
【发布时间】:2020-05-03 12:33:22
【问题描述】:

使用 webgrid 实现下拉列表的最佳或最简单的方法是什么?

@{
    WebGrid gridBenefits = new WebGrid(Model.Benefits, rowsPerPage: 4);
}

        <div class="row">
            @gridBenefits.GetHtml(
            tableStyle: "table table-responsive table-striped table-bordered",
            columns: gridBenefits.Columns(
                    gridBenefits.Column(header: "Description", format: @<text><div class="edit" data-id="@item.BenefitID" data-identity="Benefits" data-propertyname="BenefitDescription"> @item.BenefitDescription</div></text>),
                    gridBenefits.Column(header: "Progress", format:@<text><div class="edit" data-id="@item.BenefitID" data-identity="Benefits" data-propertyname="Progress"> @item.ProgressID</div></text>)

                    )
                    )
        </div>

进度下拉栏的模型如下:

public class Progress
{
    public int ProgressID { get; set; }
    public string Status { get; set; }
}

我想在下拉列中显示每个 ProgressID 的“状态”。目前它显示 ProgressID,如何调整代码以改为具有下拉列表?

【问题讨论】:

    标签: c# model-view-controller webgrid


    【解决方案1】:

    我没有测试过这个,但我的想法是这样的:

    @{
        WebGrid gridBenefits = new WebGrid(Model.Benefits, rowsPerPage: 4);
    }
    
            <div class="row">
                @gridBenefits.GetHtml(
                tableStyle: "table table-responsive table-striped table-bordered",
                columns: gridBenefits.Columns(
                        gridBenefits.Column(header: "Description", format: @<text><div class="edit" data-id="@item.BenefitID" data-identity="Benefits" data-propertyname="BenefitDescription"> @item.BenefitDescription</div></text>),
                        gridBenefits.Column(header: "Progress",  format: (item) => @Html.DropDownList("ProgressId", Model.First().Status.Select(l => new SelectListItem
                              {
                                Text = l.Text,
                                Value = l.Value,
                               Selected = ((WebGridRow)item)["ProgressId"].ToString() == 
                                l.Value
    })))
                        )
                        )
            </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-18
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      相关资源
      最近更新 更多