Я использую метод, который генерирует мои вопросы и ответы я имею в виду каждые вопросов появляется в поле зрения и ответы этого вопроса ставится на DDL, как вы можете увидеть здесь:Получить значение стандартного списка DDL в MVC
public string GenerateHtmlCode()
{
string result = string.Empty;
List<ExecutiveOfficer> executiveOfficers = executiveOfficerRepository.GetAll().ToList();
List<Indicator> indicators = indicatorRepository.GetAll().ToList();
foreach (ExecutiveOfficer executiveOfficer in executiveOfficers)
{
result += "<div style='width:100%;float:right;'><span>" + executiveOfficer.ExecutiveOfficerText +
"</span><span style='float:left'>" +
GenerateAnswer(indicatorRepository.FindBy(i => i.ExecutiveOfficerId == executiveOfficer.Id
).ToList(), executiveOfficer.Id) + "</span></div>";
}
return result;
}
в моем создании метода в контроллере я передать строку в viewbag, как вы можете увидеть здесь:
[HttpGet]
public ActionResult Create(int preliminaryId)
{
ViewBag.preliminaryId = preliminaryId;
ViewBag.pageGenarator = objScoreRepository.GenerateHtmlCode();
// List<ExecutiveOfficer> executiveOfficer = objScoreRepository.GetAll().ToList();
//ViewBag.executiveOfficerName = new SelectList(executiveOfficer, "Id", "ExecutiveOfficerText");
return View("Create");
}
Мой HTML-код:
</span><span style='float:left'><select id='1' name ='1'><option value='value1'>displaytext</option><option value='value2'>displaytext2</option></select></span>
Как вы можете видеть здесь, я 1 DDL, который имеет 2 значения, мне нужно, чтобы получить значение, выбранное пользователем, я использовать form collection
, чтобы получить имя DDL, как вы можете увидеть здесь:
[HttpPost]
//[Authorize(Roles = "Expert")]
public ActionResult Create(FormCollection formCollection)
{
//objScoreRepository.Add(Score);
//objScoreRepository.Save();
foreach (var VARIABLE in formCollection.AllKeys)
{
}
return RedirectToAction("Create", "Score");
}
formcollection
просто возвращает одну запись, а запись 1
- имя DDL
. Но мне нужно получить значение DDL
. Как я могу это сделать?
Мое мнение:
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_LayoutIdeaOtherPage.cshtml";
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
@Html.Raw(ViewBag.pageGenarator)
<div class="buttonPossion">
<input type="submit" Class="buttonSave" />
</div>
}
наилучшими пожеланиями.
на мой взгляд ..Just перепроектировать страницу архитектуры вы добавления HTML внутри контроллера, который не является отличная идея .. !!! –
@ Kartikeya, есть ли у вас какие-то другие идеи? –