我正在更新C#中的类,该类用于创建RSS。它包含以下代码:
private void BindUpcomingEvents(IQueryable<Event> eventList, FilterParams filterParams)
{
var pref = MarylandCalendar.Model.Helpers.Preferences.Preferences.Get();
var events = eventList.ToList();
.
.
.
// items
foreach (var item in events)
{
xfeed.WriteElementString("chair", item.chair);
.
.
.
//xfeed.WriteElementString("person_id", String.Format("{0}", item.PersonId);
//xfeed.WriteElementString("person_id", ((int)item.PersonId).ToString());
//xfeed.WriteElementString("person_id", item.PersonId.ToString());
//xfeed.WriteElementString("person_id", Convert.ToInt16(item.PersonId).ToString());
.
.
.
}
.
.
.
}数据库nvarchar字段(如“”(见上文))在XML语句中没有问题。但我似乎无法编写包含int字段(如PersonId )的语句。你可以看到我的尝试(注释掉),基于其他的文章,在Stackoverflow,和其他互联网上。如果我注释掉提取WriteElementString int字段的所有行,RSS就会像预期的那样工作。但否则,它就失败了。
有什么线索吗?
发布于 2014-05-30 16:54:38
如果PersonId是可空的,则需要首先检查null:
xfeed.WriteElementString("person_id", item.PersonId.HasValue
? item.PersonId.Value.ToString()
: "null") // or 0, or blank, or somethinghttps://stackoverflow.com/questions/23958175
复制相似问题