0

在该站点上,我的标题中有以下代码,如果用户已登录,则“跟踪”链接会将用户发送到以下链接。我怎样才能同时发送一些会话信息,如客户 ID?标头位于 MVC3 ASP 站点上,链接指向 PHP 站点,该站点通过 iframe 在内部显示。

<li class="al-contact">@if (Model.CurrentUser != null)
        {  if(Request.IsAuthenticated)
                                 {
                                    <a href="http://webpilot/content/TrackingSystem_order" target="_self">Tracking</a>
                                  }
                                  } else { 
                }
        </li> 
4

1 回答 1

0

添加CustomerID作为您的视图模型/基本视图模型的属性。从 Session 或您的操作方法中的任何其他位置获取它,然后简单地将其传递给视图。在那里使用它来构建外部网站的 url。

public class TrackingListViewModel
{
  public int CustomerID { set;get;}
  //Other relevant Viewmodel properties
}

在您的 Action 方法中设置值。

public ActionResult List()
{
  var vm=new TrackingListViewModel();
  vm.CustmoerID=124; 
  // hardcoded for demo. you may read from session or somewhere and set it 
  return View(vm);
}

并在视图中,将其作为查询字符串发送(假设站点的页面将读取查询字符串值并对其进行处理,您需要知道他们期望的查询字符串键。下面的示例假设他们将读取名为“ customer”的键

@model TrackingListViewModel

<li class="al-contact">
 @if (Model.CurrentUser != null)
 { if(Request.IsAuthenticated)
    {
      <a href="http://somewebsite/TrackingSystem_order?id=@Model.CustomerID"
                                                      target="_self">Tracking</a>
     }
 } 
</li> 
于 2013-03-22T19:32:49.170 回答