Мне нужно и Id @item.errorId
из моей модели, которую я передаю в цикле foreach
, чтобы передать при отправке формы, так как отправленная форма должна быть отслежена до точной строки.
Я пытаюсьсоздать одностраничное приложение.
Это мой CSHTML для создания таблицы
<tbody>
@foreach (var item in Model.LogItems)
{
<tr href="#/" onclick="createTicket('@HttpUtility.JavaScriptStringEncode(item.Type)', '@HttpUtility.JavaScriptStringEncode(item.TimeUtc.ToString())', '@HttpUtility.JavaScriptStringEncode(item.Host)', '@HttpUtility.JavaScriptStringEncode(item.Message)', '@HttpUtility.JavaScriptStringEncode(item.Source)', '@HttpUtility.JavaScriptStringEncode(item.User)', '@HttpUtility.JavaScriptStringEncode(item.AllXml)', '@HttpUtility.JavaScriptStringEncode(item.ErrorId.ToString())')" style="cursor: pointer">
<td scope="row"> @(rowNo += 1) </td>
<td style="white-space: nowrap;">
@item.TimeUtc
</td>
<td style="word-wrap:break-word; max-width: 250px;">
@item.Type
</td>
<td>@item.Host</td>
<td style="max-width: 200px; word-wrap:break-word;"> @item.Message</td>
<td>
@item.Source
</td>
@if (item.User != "")
{
<td>@item.User</td>
}
else
{
<td><i>null</i></td>
}
<td>@item.AllXml.Split('"')[1].Split('"')[0]...</td>
<td style="white-space: nowrap;"> <button class="btn btn-link btn-xs">Dismiss</button></td>
</tr>
}
</tbody>
Javascript обрабатывает onClick, который будет передавать значения в innerHtml
и отображать «окно»
function createTicket(type, time, host, message, source, user, xml, errorid) {
if (ticketSwitch == true) {
popup.style.visibility = "visible";
cardHeader.innerHTML = type;
timeForLogs.innerHTML = time;
cardHost.innerHTML = host;
cardMessage.innerHTML = message;
cardSource.innerHTML = source;
cardUser.innerHTML = user;
cardText.innerText = xml;
id.innerHTML = errorid;
ticketSwitch = false;
}
}
после нажатия на строку мы получим

мы можем щелкнуть вкладку БИЛЕТ

это CSHTML BeginForm
@using (Html.BeginForm("Index", "Ticket", FormMethod.Post))
{
<div>
<br />
<div style="background-color:#2C3E5070; color: white; padding: 3px; border-radius:3px; font-weight: 300;">
<a style="font-size: 0.9em">Create Issue</a>
</div>
<br />
<form>
<span style="font-size: 0.8em">Project<sup class="star">*</sup></span> @Html.DropDownListFor(m => model.fields.project.key, (IEnumerable<SelectListItem>)ViewBag.Projects, "<select>", new { @class = "form-control input-sm my-size-text-area input-background" })
<br />
<span style="font-size: 0.8em">Issue type</span> @Html.DropDownListFor(m => model.fields.issuetype.name, new List<SelectListItem> { new SelectListItem { Text = "Bug", Value = "Bug" }, new SelectListItem { Text = "Feature", Value = "Feature" }, new SelectListItem { Text = "Task", Value = "Task" }, }, new { @class = "form-control input-sm my-size-text-area input-background" })
<br />
<span style="font-size: 0.8em">Assignee<sup class="star">*</sup></span> @Html.DropDownListFor(m => model.fields.assignee.name, (IEnumerable<SelectListItem>)ViewBag.Users, "<select>", new { @class = "form-control input-sm my-size-text-area input-background" })
<br />
<span style="font-size: 0.8em">Summary<sup class="star">*</sup></span>@Html.TextBoxFor(m => model.fields.summary, new { @class = "form-control input-sm my-size-text-area input-background" })
<br />
<div class="form-group">
<span style="font-size: 0.8em">Description<sup class="star">*</sup></span> @Html.TextAreaFor(m => model.fields.description, 5, 60, new { @class = "form-control my-size-text-area input-background" })
</div>
<br />
<input style="font-size: 0.8em !important;" onclick="loadingOverlay()" id="Submit" class="btn btn-primary float-right" type="submit" value="Create" />
</form>
</div>
}
при отправке билета я хотел бы передать Id, который я могу получить из foreach
в Контроллер, который обрабатывает МойPOST-запрос.
Самое близкое, что я должен был сделать, это передать его как значение в пределах
@using (Html.BeginForm("Index", "Ticket", FormMethod.Post))
, но он всегда будет передавать идентификатор из последнего foreach
элемента.
Я ценю всю помощь