Просто попробуйте это
@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class="dropdown" })
Но если вы хотите значение по умолчанию или значение параметра нет, вам необходимо попробовать это, потому что String.Empty
выберет, что для вас не будет никакого значения, которое будет работать как -select-
в качестве опции по умолчанию
@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, String.Empty, new { @class="dropdown" })
На самом деле проблема не так четко сформулирована, как следовало бы. Я предполагаю, что вы используете нестандартную коллекцию или поле типа интерфейса, для которого XStream должен хранить фактический класс.
Во втором случае вы можете просто использовать псевдоним:
xstream.alias («имя поля», Interface.class, ActualClassToUse.class);
См. http://markmail.org/message / gds63p3dnhpy3ef2 для получения дополнительных сведений.
]Можете ли вы привести какой-нибудь пример вывода? Я думаю, что это обычно происходит при использовании Коллекций. Не видя вывода, я думаю, что вам нужно зарегистрировать псевдонимы:[
] [xstream.alias("blog", Blog.class);
]
[]Смотрите []http://x-stream.github.io/alias-tutorial.html[] для более подробного рассмотрения. И снова, вставьте какой-нибудь пример вывода. [
]Используйте что-нибудь в этом роде, чтобы полностью удалить атрибут класса, а не налагать на него что-то еще:
private String generateResponse(final XStream xStream)
{
StringWriter writer = new StringWriter();
xStream.marshal(this, new PrettyPrintWriter(writer) {
@Override
public void addAttribute(final String key, final String value)
{
if (!key.equals("class"))
{
super.addAttribute(key, value);
}
}
});
return writer.toString();
}