在mvc4局部视图中传递参数

时间:2012-12-04 17:43:38

标签: asp.net asp.net-mvc-3 asp.net-mvc-4 partial-views

我使用Google代码创建了一个局部视图,我想向该视图发送两个参数。 以下是部分视图的内容:

    <!-- Google Code for apply Conversion Page --> <script type="text/javascript">
   /* <![CDATA[ */
   var google_conversion_id = 1234567;
   var google_conversion_language = "en";
   var google_conversion_format = "2";
   var google_conversion_color = "ffffff";
   var google_conversion_label = "7df7df7sdfdf"; var google_conversion_value = 0;
   /* ]]> */
   </script>
   <script type="text/javascript"  
   src="https://www.googleadservices.com/pagead/conversion.js">
   </script>
   <noscript>
   <div style="display:inline;">
   <img height="1" width="1" style="border-style:none;" alt=""  
   src="https://www.googleadservices.com/pagead/conversion/1234567/?value=0&amp;label=7df7df7sdfdf&amp;guid=ON&amp;script=0"/>
   </div>
   </noscript>

现在取代google_conversion_id和google_conversion_label的静态值,我想使用两个我将从主窗体发送的参数。

以下是我如何调用局部视图:

@ {Html.RenderPartial(“Google”); }

知道如何实现这一目标? Thx,Laziale

1 个答案:

答案 0 :(得分:1)

您可以使用RenderAction而不是RenderPartial。然后,您可以在控制器中编写自己的操作,并可以添加参数。像这样:

@{ Html.RenderAction("Action", "Controller", new { id = "Something", label = "Label" }); }

或者在后面的代码中为局部视图创建一个新模型。

另一种选择是将参数存储在ViewBag中,但这更像是黑客攻击。