所以我在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#list转换为数组,然后在我的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
但说实话,我不知道正确的语法,我也无法让它发挥作用。
有一段很长的文字,但是一些帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
@Html.Raw(Json.Serialize(--C# list--))
应该有效。从那里,您可以使用值填充选择中的选项。
但是你可以让它在ajax里面工作。您可以在每个条目后添加逗号,然后拆分响应。
...
success: function (data) {
options = data.split(',')
//build the dropdown
}
...