【问题标题】:Converting c# .net string List into html dropdown将 c# .net 字符串列表转换为 html 下拉列表
【发布时间】:2018-01-30 16:45:16
【问题描述】:

所以我在我的 c# .net 应用程序中创建了一个字符串列表,我想将此列表存储在一个 html 下拉列表中。首先,我不知道我是否做得对,我已经设置了我的列表,但我不知道是否缺少步骤。我的代码如下:

        CalendarFolder calendar = ewsconn.Calendar;
        ExchangeService service = ewsconn.Service;
        Calendars = ewsconn.Calendars; 
        foreach (var c in Calendars)
        {
            calendarNames.Add(c.DisplayName);                            
        }
        foreach (var s in calendarNames)
        {
            Response.Write(s + "<br />");
        }
        getCalendarList(calendarNames);

这是 Microsoft Exchange api 中来自 x 用户的每个日历文件夹名称的列表。我需要在 html 下拉列表中使用该列表以便稍后使用它。我可以正确退货吗?在此过程中我是否缺少任何步骤?我的 getCalendarList 只返回我给它的列表,它没有什么特别的。

在我的 javascript 中,我能够获得的唯一值是上面代码中的 Response.write。见以下代码:

   $.ajax({
      url: '/domain/Crm/getCalendars.aspx?email=' + useremail,
      cache: false,
      contentType: false,
      processData: false,
      type: 'POST',
      dataType: "html",
      success: function (data) {
        alert(data);            
      }
 });

现在我知道这里缺少很多东西,但是我知道我需要将我的 c# 列表转换为一个数组,然后在我的 html 代码中使用它,但是我该怎么做呢? 我已经从我所做的研究中尝试过这个:

var array = @Html.Raw(Json.Encode(getCalendars.calendarNames));
    for(var i = 0; i < array.length; i++) {
        alert(array[i]); // should display "calendar1" then "calendar2" etc

但老实说,我不知道正确的语法,我无法让它工作。

有点长的文字墙,但我们将不胜感激。

谢谢!

【问题讨论】:

  • 快速确定您是否错过任何步骤的好方法是对其进行测试。当你这样做时会发生什么?
  • 您的 ActionResult 可以返回 Json(object) 然后您就可以将结果作为 JSON 对象访问。 (假设您使用的是 MVC)。如果你不是 yhrn,你可以使用 Newtonsoft.Json 将你的对象序列化为你可以写出的 JSON 字符串。
  • 我有一个警报,但它使用了我的 response.write 输出。当我按下一个按钮时,Ajax 就会执行,然后我的警报会显示:calender1calender2calender3calender4。我的清单没有使用。我的 Json 什么都不做。
  • 为什么不创建一个返回 List 然后在你的 ui 中迭代的静态辅助方法。

标签: javascript c# html asp.net .net


【解决方案1】:

@Html.Raw(Json.Serialize(--C# list--)) 应该可以工作,如果您的 C# 列表有效。从那里您可以使用值填充您选择的选项。

但是你也许可以让它在那个 ajax 中工作。您可以在每个条目后添加一个逗号,然后拆分响应。

...
success: function (data) {
    options = data.split(',')
    //build the dropdown     
}
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多