【发布时间】: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