2017-11-01 10 views
0

私はMVC5プロジェクトで作業します。私は、このキーの値は持って自分のWeb設定でWeb設定で定義された値を使用しようとするとエラーが発生するのはなぜですか?

<add key="WebLayoutPath" value="../../data/reuno/?WEBLAYOUT={0}" /> 

を私はCSHTML内で、ページを表示することをiframe要素で上記のキー値を使用します。

"Value cannot be null.\r\nParameter name: format" 

私は問題と思う:これに

<div class="tab-pane fade in active" id="mgArea"> 
    <iframe id="iframeMgMap" 
      src="@(string.Format("../../data/reuno/?WEBLAYOUT={0}",Model.MgPath))" 
      frameborder="0" 
      scrolling="no" 
      style="width:100%;height:100%;"></iframe> 
</div> 

を::

<div class="tab-pane fade in active" id="mgArea"> 
    <iframe id="iframeMgMap"  
      src="@(string.Format(System.Configuration.ConfigurationManager.AppSettings["WebLayoutPath"],Model.MgPath))" 
      frameborder="0" 
      scrolling="no" 
      style="width:100%;height:100%;"></iframe> 
</div> 

をしかし、私は変更を加えたとき、私はこのエラーを取得する上で

だから私は、これを変更しますシンタックスはsrc属性を持ちます。

どのように問題を解決するか考えてみましょうか?

+3

にアクション自体からのビューにそれを伝承考えることができます。また私はあなたのモデルにこれを移動し、ビューに直接アクセスしません。 – Greg

+0

私はコードを更新しました! – Michael

答えて

1

あなたはキーが「WebLayoutPath」ではない「logoPath」であるビューでViewBag

//... 
var format = System.Configuration.ConfigurationManager.AppSettings["WebLayoutPath"]; 
var path = string.Format(format, model.MgPath); 
ViewBag.MgPath = path; 

return View(model); 

とアクセスそれ

<div class="tab-pane fade in active" id="mgArea"> 
    <iframe id="iframeMgMap" 
      src="@((string)ViewBag.MgPath)" 
      frameborder="0" 
      scrolling="no" 
      style="width:100%;height:100%;"></iframe> 
</div> 
関連する問題