1

我有一个字符串数组,我希望它以逗号分隔的视图返回。

@Html.DisplayFor(m => name.studentName) <span>, </span>}

我正在使用这种方式,但最后一个字符串也将以逗号结尾。想知道如何避免这种情况?

4

3 回答 3

2

我假设您的模型上有一组学生,每个学生都拥有studentName您要显示的属性:

public IEnumerable<Student> Students { get; set; }

在您的视图中,您正在循环浏览此集合并单独显示每个学生的姓名。

现在,您可以执行以下操作,而不是循环:

@Html.Raw(
    string.Join(
        "<span>,<span>",
        Model.Students.Select(x => Html.Encode(x.studentName))
    )
)

甚至更好的是,将此逻辑外部化为可重用的自定义 HTML 助手:

public static class HtmlExtensions
{
    public static IHtmlString FormatStudentNames(this HtmlHelper htmlHelper, IEnumerable<Student> students)
    {
        return new HtmlString(
            string.Join(
                "<span>,<span>",
                students.Select(x => Html.Encode(x.studentName))
            )
        );
    }
}

然后在你的视图中简单地调用这个助手:

@Html.FormatStudentNames(Model.Students)

您不再需要编写任何 foreach 或您正在编写的任何循环。

于 2012-07-02T08:35:23.663 回答
1

尝试

@string.Join(",", name.studentName);

并在 MSDN 上查看string.Join

于 2012-07-02T08:33:10.643 回答
0
   $(".category").change(function () {
        var value = $(this).val();
        loadSubCategory(value)
    });

    function loadSubCategory(parentID) {

        var $el = $("#SubCats");
        $el.prop("disabled", true);
        $el.empty();
        $.ajax({
            cache: false,
            url: "/Category/loadSubCategory?id=" + parentID,
            success: function (data) {
                if (data != '' && data != null) {
                    if (data != 'error') {
                        var sch = JSON.parse(data);
                        if (sch.length > 0) {
                            $el.prop("disabled", false);
                            for (i = 0; i < sch.length; i++) {
                                $el.append($("<option></option>")
                                    .attr("value", sch[i].ID).text(sch[i].Description));
                            }
                        }
                    }
                }
            }
        });
    }

public ActionResult loadSubCategory(string id)
        {

            string list = "";
            try
            {

                list = Newtonsoft.Json.JsonConvert.SerializeObject(menu.SubCategory(id));
            }
            catch (Exception ex)
            {
            }
            return Content(list);

        }
  public List<CategoryModel> SubCategory(string parentID){

     List<CategoryModel> listCategory= new List<CategoryModel>();
      string[] yourValues = parentID.Split(',');
                    foreach (var item in yourValues)
                    {
                        var Category = UowObj.CategoryRepository.Get(filter: c => c.ParentId.ToString() == item && c.IsActive == true).ToList();
                        if (Category != null)
                        {
                            var category= new CategoryModel();
                            foreach (var itemq in Category)
                            {

                                category.ID = itemq.ID;
                                category.Description = itemq.Description;
                            }
                            listCategory.Add(merchant);
                        }

    }
于 2018-06-07T07:41:21.833 回答