0

このサイトでは、ヘッダーに次のコードがあり、ユーザーがログインしている場合、リンク「追跡」によってユーザーは次のリンクに移動します。顧客IDなどのセッション情報を同時に送信するにはどうすればよいですか?ヘッダーはMVC3ASPサイトにあり、リンクはiframeを介して内部的に表示されるPHPサイトにリンクしています。

<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ビューモデル / ベース ビューモデルのプロパティとしてを追加します。セッションまたはアクション メソッドの他の場所から取得し、ビューに渡すだけです。そこでそれを使用して、外部 Web サイトへの 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 に答える