我试图创建一个webApp并且我有一个冲突,因为我有一个模型,我在控制器中调用,但每次我在同一个控制器的视图之间切换时,我的模型实例重置并采取再次初始值。
DataTable dt;
public AdminUsers()
{
dt = (new Userdb()).GetUsers();
}
public ActionResult Admin()
{
... // do whatever with dt before showing the results
return View(this.dt);
}
public ActionResult Results() // dt resets with the initial values
{
return View(this.dt);
}
如何在修改后保留视图之间的值?
答案 0 :(得分:3)
为此,您可以使用Session
当你初始化它时(例如在你的AdminUsers()方法中)
Session["dt"] = (new Userdb()).GetUsers();
然后检索你的值,但总是检查会话是否为空:
If(Session["dt"] != null)
{
DataTable myTable = (DataTable) Session["dt"];
//Do whatever you need with your dt.....
}
答案 1 :(得分:0)
您可以使用Session ...会话将允许您存储当前会话的数据,然后您将能够在该会话中的任何视图中访问该数据...
auto x = [int&]/[long]
然后在您的视图中访问该会话,将其转换为DataTable并使用它..
Session["data"] = dt;
答案 2 :(得分:0)
您不应该将dt
变量设为实例变量,而是在每个操作中加载它并更新Post上的记录,这样您将始终获得最新的新数据。
建议不要使用会话,因为它限制了应用程序的可伸缩性。
此外,您应该使用POCO
来传输数据而不是DataTable
答案 3 :(得分:-1)
你可以将它放入ViewData:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-default">
<div class="container" style="margin-left:50px;">
<ul class="nav navbar-nav">
<li>
<a href="">
Startseite
</a>
</li>
<li>
<a href="ueber-mich/">
Über mich
</a>
</li>
<li>
<a href="#anker">
Referenzen
</a>
<ul>
<li><a href="maler-und-tapezierarbeiten/">Maler- und Tapezierarbeiten</a></li>
<li><a href="fenster-und-tuerenanstrich">Türen und Fensteranstrich</a></li>
<li><a href="spachtel-und-lasurtechniken/">Spachtel- und Lasurtechniken</a></li>
<li><a href="fassadenanstrich/">Fassadenanstrich</a></li>
<li><a href="">Dekorputze</a></li>
<li><a href="renovierung/">Renovierungen</a></li>
</ul>
</li>
<li>
<a href="impressum/">
Impressum
</a>
</li>
</ul>
</div>
</nav>