我有两个视图和两个控制器。一个给客户,另一个给他们的地址。客户可以有一个地址。在我的客户端模型定义中,我允许客户端的 addressID 可以为空。当我想为客户创建地址时,根据 addressId 是否为空,我将重定向到地址的“创建”或“详细信息”视图。现在我只想在到达 Create 视图时显示客户名称(“为 John Doe 创建地址”)。我该怎么做呢?我正在尝试慢慢学习 MVC,但在处理关注点分离和将数据传递到哪里时遇到了麻烦。
问问题
450 次
3 回答
1
由于您是手动重定向,因此您肯定知道下一个请求。在这种情况下,TempData 可能最适合您的需求。如果您需要的数据多于下一个请求,您可能应该使用已经建议的 Session 或 Cookies。
使用它来存储下一个请求的数据:
TempData["ClientName"] = "John Doe";
这是为了在下一个请求中获取数据:
var clientName = TempData["ClientName"];
请注意,TempData 仅为下一个请求存储其数据。有关 TempData MSDN 的更多信息是您的朋友:http: //msdn.microsoft.com/en-us/library/dd394711%28v=vs.100%29.aspx
于 2013-02-28T08:47:11.807 回答
0
尝试为其他人提供一些代码以更好地帮助您,但现在我可以告诉您的是您希望跨请求保持状态,因此您有很多选择。您可以保持会话状态,可以将查询字符串附加到以下请求中,可以使用 cookie 传输 id 等。
于 2013-02-28T08:35:34.567 回答
0
我建议您为此使用会话..存储用户名session("username")
并在视图或您想要的任何控制器中使用它..
于 2013-02-28T10:19:28.623 回答