保持"参考"的最佳方式是什么?通过Action调用CRUD操作中的实体之间?
让我们说,我需要为当前客户创建一个新产品。 我应该怎样转移"我当前客户的PK以不同的视角转换为新产品的形式。
当我访问页面时,我正在使用Session
容器来存储客户端的PK,但这种方式在多次操作后可能难以维护。
对此有何想法? ASP.NET MVC是否为这种跟踪提供了任何东西?
代码示例:
例如,在网格视图中的某个位置单击时设置一个键:
<script type="text/javascript">
function OnFocusedCampaignRowChanged(s, e) {
debugger;
var tmp = s.GetRowValues(s.GetFocusedRowIndex(), "CampaignPK", SelectCampaignCallback);
}
function SelectCampaignCallback(values) {
debugger;
$.ajax({
type: 'GET',
url: '/Session/SetSessionKey',
data: { key: "campaignPK", value: values[0] },
sucess: function (response) {
//alert("OK!");
//alert(values[0]);
},
error: function (xhr) {
//alert("ERROR:xhr");
alert('ERROR::SetSessionKey!' + xhr.responseText);
}
});
}
</script>
然后在我看来,我检查这样的事情:
@if ((Session["ProductList"] as List<BaseProductViewModel>) != null)
{
@Html.Partial("ProductListPartial", (List<BaseProductViewModel>)Session["ProductList"]);
}
else
{
@Html.Partial("EditableListPartialView");
}
或者:
settings.CallbackRouteValues = new
{
Controller = "CheckMonitor",
Action = "ClientSelected",
brandPK = Session["clientPK"]
};
答案 0 :(得分:0)
如果您在推荐“客户”时,您正在谈论当前登录的用户,并且您想获取其ID,请参阅:Get current user id in ASP.NET Identity 2.0
如果您想要在产品上存储客户端ID,则应在模型或链接模型之间使用外键。当您可以从模型中获取ID时,您不希望手动传递ID。