所以我在我的 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);
这是交换 API 中来自 x user 的每个日历文件夹名称的列表Microsoft。我需要在 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
但老实说,我不知道正确的语法,我不能不让它工作。
有点长长的文字墙,但一些帮助将不胜感激。
谢谢!
如果C# 列表有效,@Html.Raw(Json.Serialize(--C# list--))
应该可以工作。从那里,您可以使用值填充所选选项中的选项。
但是你也许可以让它在那个 ajax 中工作。您可以在每个条目后添加一个逗号,然后拆分响应。
...
success: function (data) {
options = data.split(',')
//build the dropdown
}
...