Я развернул свой собственный, используя strtok, и использовал boost для разделения строки. Лучший метод, который я нашел, - C ++ String Toolkit Library . Это невероятно гибко и быстро.
#include
#include
#include
#include
const char *whitespace = " \t\r\n\f";
const char *whitespace_and_punctuation = " \t\r\n\f;,=";
int main()
{
{ // normal parsing of a string into a vector of strings
std::string s("Somewhere down the road");
std::vector result;
if( strtk::parse( s, whitespace, result ) )
{
for(size_t i = 0; i < result.size(); ++i )
std::cout << result[i] << std::endl;
}
}
{ // parsing a string into a vector of floats with other separators
// besides spaces
std::string s("3.0, 3.14; 4.0");
std::vector values;
if( strtk::parse( s, whitespace_and_punctuation, values ) )
{
for(size_t i = 0; i < values.size(); ++i )
std::cout << values[i] << std::endl;
}
}
{ // parsing a string into specific variables
std::string s("angle = 45; radius = 9.9");
std::string w1, w2;
float v1, v2;
if( strtk::parse( s, whitespace_and_punctuation, w1, v1, w2, v2) )
{
std::cout << "word " << w1 << ", value " << v1 << std::endl;
std::cout << "word " << w2 << ", value " << v2 << std::endl;
}
}
return 0;
}
Инструментарий обладает гораздо большей гибкостью, чем показывает этот простой пример, но его полезность при разборе строки в полезных элементах невероятна.
Глядя на контроллер и немного узнавая о том, как работает MVC, я смог понять это.
Мое представление было одним из автоматически сгенерированных и содержало эту строку кода:
@Html.DropDownList("PriorityID", string.Empty)
Чтобы добавить атрибуты html, мне нужно было сделать что-то вроде этого:
@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class="dropdown" })
Еще раз спасибо @Laurent за вашу помощь, я понимаю, что вопрос wasn 't так ясно, как могло бы быть ...
UPDATE:
Лучшим способом сделать это было бы использовать DropDownListFor , где это возможно, что вы не полагаетесь на магическую строку для атрибута name
@Html.DropDownListFor(x => x.PriorityID, (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class = "dropdown" })
Попробуйте следующее:
@Html.DropDownList(
"country",
new[] {
new SelectListItem() { Value = "IN", Text = "India" },
new SelectListItem() { Value = "US", Text = "United States" }
},
"Country",
new { @class = "form-control",@selected = Model.Country}
)
Просто попробуйте это
@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" })
Как видно из сигнатуры сообщения об ошибке, второй аргумент должен быть IEnumerable, а точнее IEnumerable из SelectListItem. Это список вариантов. Вы можете использовать тип SelectList, который является IEnumerable из SelectListItem. Для списка без выбора:
@Html.DropDownList("PriorityID", new List<SelectListItem>(), new {@class="textbox"} )
Для списка с несколькими вариантами:
@Html.DropDownList(
"PriorityID",
new List<SelectListItem>
{
new SelectListItem { Text = "High", Value = 1 },
new SelectListItem { Text = "Low", Value = 0 },
},
new {@class="textbox"})
Возможно, этот учебник может помочь: Как создать DropDownList с ASP.NET MVC
Есть несколько вариантов в конструкторах, если у вас нет dropdownList, и вы хотите вставить класс CSS, который вы можете использовать, например
@Html.DropDownList("Country", null, "Choose-Category", new {@class="form-control"})
, в этом случае Country - это имя вашего раскрывающегося списка, null для вас не передается какой-либо общий список из вашего контроллера «Choose-Category» - это выбранный элемент и последний в классе CSS, если вы не хотите выбирать какой-либо вариант по умолчанию, поэтому просто замените «Choose-Category» на «»
Попробуйте ввести код:
@Html.DropDownList("ProductTypeID",null,"",new { @class = "form-control"})
Вы можете сделать это с помощью jQuery
$("select").addClass("form-control")
здесь, выбрать тег ishtml, имя класса управления формами
@Html.DropDownList("SupplierId", "Select Supplier")
и здесь, SupplierId - ViewBagList , Select Supplier - Отображаемое имя
Если вы добавили более чем аргумент ya в список Asp.Net MVC. Когда вы редактируете запись или передаете значение в сумке вида.
Используйте это, это будет работа: -
@Html.DropDownList("CurrencyID",null,String.Empty, new { @class = "form-control-mandatory" })
Попробуйте это
@Html.DropDownList("Id", null, new { @class = "ct-js-select ct-select-lg" })
Вы можете просто сделать это:
@Html.DropDownList("PriorityID", null, new { @class="form-control"})