使用mvc5从数据库中显示的值不会显示在数据库中

时间:2017-06-07 07:09:11

标签: json asp.net-mvc sql-server-2012

在控制器json方法中获取ReportColumnsList中的列名(Account,EmailTo,Subject,MessageContent)..但是我需要在视图页面中传递这些值并显示在列表框中。 数据以[对象]的形式出现,并在列表框中显示如下.. 请给我解决方案..

谢谢&此致

控制器部分中的

: -

[AllowAnonymous]
public ActionResult GetColumnsByFavouriteReport(ReportsModel Model,string Columns)
{
    List<Report> ReportColumnsList = MCPAdminControllerPageObject.GetColumnsByReportName(Columns);
    return Json(ReportColumnsList, JsonRequestBehavior.AllowGet);
}

在视图中: -

 $(document).ready(function () {
      $('#FavouriteReports').change(function () {
          $.ajax({
              type: "POST",
              url: '@Url.Action("GetColumnsByFavouriteReport", "MCPAdmin")',
              data: { Columns: $('#FavouriteReports').val() },
              datatype: "json",
              traditional: true,
              success: function (data) {

                  $('#SelectedFields').empty();
                  $.each(data, function (key, val) {
                      $('#SelectedFields').append('<option id="' + key + '">' + val + '</option>');
                  })

              }
          });
      });

@Html.ListBoxFor(m => m.SelectedFields, new SelectList(new[] { "" }), new { @class = "form-control editable" })     

1 个答案:

答案 0 :(得分:0)

让我假设您的模型类报告

   public class Report {

    public int ReportId { get; set; }
    public Name ReportName { get; set; }
   }

在你的ajax方法中

   if(data!=null) {
    $('#SelectedFields').empty();
     var dd = null ;
    $.each(data, function (key, val) {
       dd += "<option " + " value=" + val.ReportId + ">" + val.ReportName + "</option>";
        });
   //append to given id
    $('#SelectedFields').append(dd);
        }

我希望这会帮助你,绑定你的下拉列表