Мой вопрос похож на Engram's here, но мой вопрос идет немного дальше. Способ, которым я намереваюсь работать, - это текстовое поле с вопросом, сколько записей пользователь сделает. После ввода номера мне нужно создать еще много текстовых полей, чтобы разрешить записи (а затем повторить один и тот же процесс с этими текстовыми полями, но сначала шаги для ребенка ...) Я попытался собрать ключи в сообщении, но он возвращает только в начальном текстовом поле запрашивается количество записей. Я все еще пытаюсь понять MVC, а уроки/видео до сих пор не углублялись в это. Опять же, я знаю, что это, вероятно, то, что я мог бы использовать с помощью JQuery, но я все равно буду придерживаться той же ситуации.Заполнение формы динамически на основе пользовательского ввода в ASP.Net MVC
Это контроллер я использую:
[AcceptVerbsAttribute("POST")]
public ActionResult Create(int tbxNumberOfExercises)
{
ViewData["number"] = tbxNumberOfExercises;
foreach (var key in Request.Form.Keys)
{
string keyString = key.ToString();
if (keyString.StartsWith("tbox_exercise", StringComparison.OrdinalIgnoreCase))
{
string recNum = keyString.Substring(13, keyString.Length - 13);
string approvedKey = Request.Form["tbox_exercise" + recNum];
int number;
int.TryParse(approvedKey, out number);
}
}
return View("Create");
}
И это мой ASPX:
<form action="/CreateWorkout/Create" method="post">
Number of Exercises:
<%= Html.TextBox("tbxNumberOfExercises") %>
<br />
<br />
<input type="submit" value="Set Exercise Number" />
</form>
<% if (ViewData["number"] != null)%>
There are this many:<%=Html.Encode(ViewData["number"])%>
<br />
and this line should show up
<% if (ViewData["number"] != null)
{
int max = (int)ViewData["number"];
for (int i = 0; i < max; i++)
{%>
<br />
<br />
<%= Html.TextBox("tbox_exercise" + i) %>
<% }
} %>
<% if (ViewData["s"] != null) %>
<%=Html.Encode(ViewData["s"]) %>
Есть ли что-то я с видом, не понимая, или я должен уйти, пока я «У меня это получается, потому что кажется, что я никогда не получу его?
Заранее благодарим за любую помощь - я просто пытаюсь учиться как можно больше.