Значение TempData не выводится в представление (MVC)
Ситуация такая: с одного PartialView(с диагнозами) по кнопке открываю другой PartialView (с назначениями), при чем с первого во второй передается значение параметра "Номер осмотра" через TempData.
Создание записи в первом PartialView (с диагнозами):
[HttpPost]
public ActionResult ToCreateDiagnos(Диагнозы_за_осмотр diag, string submitted)
{
if (ModelState.IsValid)
{
{
{
dbModel.Диагнозы_за_осмотр.Add(diag);
dbModel.SaveChanges();
}
TempData["Номер_осмотра"] =diag.Номер_осмотра;
TempData.Keep();
}
}
return PartialView(diag);
}
Второй PartialView(с назначениями) должен получить значение TempData и записать его в поле "Номер осмотра":
[HttpGet]
public ActionResult ToCreateMeds(Назначения_препаратов meds)
{
meds.Номер_осмотра=Convert.ToInt32(TempData["Номер_осмотра"]);
return PartialView();
}
Вот значит добавила запись в первый PartialView:

По нажатию кнопки "Добавить назначения" открывается второй PartialView, в поле "Номер осмотра" должно было передаться значение номера осмотра из первого, но этого не происходит:

При отладке видно, что значение нормально передалось, только вот выводиться оно не хочет:

Еще прикреплю код представлений. Первый PartialView(с диагнозами):
@model ПРАКТИКА_MVC_ПРИЛОЖЕНИЕ.Models.Диагнозы_за_осмотр
@{
ViewBag.Title = "ToCreateDiagnos";
if (Session["Код"] == null)
{
Response.Redirect("~/Login/Index");
}
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<link href="https://bootswatch.com/5/minty/bootstrap.min.css" rel="stylesheet" type="text/css" />
<div class="form-horizontal">
<h4>Диагнозы за осмотр</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Номер_осмотра, "Номер осмотра", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Номер_осмотра, new { htmlAttributes = new { @class = "form-control"} })
@Html.ValidationMessageFor(model => model.Номер_осмотра, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Диагноз_по_МКБ_10, "Диагноз по МКБ 10", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Диагноз_по_МКБ_10, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Диагноз_по_МКБ_10, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<hr />
<input name="submitted" type="submit" value="Добавить" />
</div>
</div>
</div>
}
<div id="addMeds">
@using (Html.BeginForm("ToCreateMeds", "Checkup", FormMethod.Get))
{
<input name="submit" type="submit" value="Добавить назначения" />
}
</div>
Код второго представления (с назначениями):
@model ПРАКТИКА_MVC_ПРИЛОЖЕНИЕ.Models.Назначения_препаратов
@{
ViewBag.Title = "ToCreateMeds";
if (Session["Код"] == null)
{
Response.Redirect("~/Login/Index");
}
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<link href="https://bootswatch.com/5/minty/bootstrap.min.css" rel="stylesheet" type="text/css" />
<div class="form-horizontal">
<h4>Назначения препаратов</h4>
<hr />
@if (TempData["Номер_осмотра"] != null)
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Номер_осмотра, "Номер осмотра", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Номер_осмотра, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Номер_осмотра, "", new { @class = "text-danger" })
</div>
</div>
}
<div class="form-group">
@Html.LabelFor(model => model.Назначение_по_АТХ, "Назначение по АТХ", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Назначение_по_АТХ, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Назначение_по_АТХ, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<hr />
<input name="btn" type="submit" value="Добавить" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Вернуться к списку", "Index")
</div>
Можно ли как-то вывести во второе представление (с назначениями) значение, переданное из TempData?