我想在我所有其他观点中提出一个部分观点。
这个局部视图的作用很简单:它在Session["here"]
对象中放入一个新值,然后刷新页面。
我可以在每个视图中放置相同的表单模式,但我认为它会更可读?优化 ?无论如何,这将是所谓的模式:
@using RatioMVC.Models
@model ChoixPeriodeMod
@{
SelectList periodes;
using (SGARDEEntities db = new SGARDEEntities())
{
periodes = new SelectList(db.AnneeFinance.ToList(), "id", "Texte");
}
}
@using (Html.BeginForm("ChoixPeriode", "Tableaux", FormMethod.Post, new { role = "form" }))
{
<label>Début : </label> @Html.DropDownListFor(t => t.debut, periodes) <label>Fin : </label> @Html.DropDownListFor(t => t.fin, periodes)
}
上面的代码在局部视图中,控制器代码如下:
[HttpGet]
public ActionResult ChoixPeriode()
{
ChoixPeriodeMod model = new ChoixPeriodeMod();
AnneeFinance debut = new AnneeFinance();
AnneeFinance fin = new AnneeFinance();
initialise(ref debut, ref fin);
model.debut = debut;
model.fin = fin;
Session["debut"] = model.debut;
Session["fin"] = model.fin;
return View(model);
}
[HttpPost]
public ActionResult ChoixPeriode(ChoixPeriodeMod model)
{
Session["debut"] = model.debut;
Session["fin"] = model.fin;
return View(model);
}
遇到局部视图线时发生错误:
@using RatioMVC.Models
@model TotauxMod
@{
ViewBag.Title = "Totaux";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@Html.Partial("ChoixPeriode")
<h2>test view</h2>
错误可以翻译为:
传递给视图的错误模型实例
我开始怀疑:部分观点可能不是最好的主意。
我希望(像网络表单中的控件ascx)一个处理自己回发的文件。我可以把它放在需要这种简短控制的每个视图中。