2011-01-30 64 views
1

我有下面的代碼,它呈現一個名爲ExchangeRates.ascx的控件。我想將兩個變量傳遞給控件,​​currencyCode和toCurrencyCode,但我只知道如何傳遞一個變量。誰能幫忙?如何將兩個變量通過renderpartial傳遞給控件?

 <% var currencyCode = Html.Encode(Model.Country.CurrencyCode); %> 

     <% var toCurrencyCode = Html.Encode(Model.Country.toCurrencyCode); %> 

     <% Html.RenderPartial("~/Views/Shared/ExchangeRates.ascx", currencyCode); %> 
+0

您可以使用ViewData將任何其他數據傳輸到視圖中。 – 2011-01-30 08:26:54

+0

在MVC 3中,您可以使用ViewBag動態對象,這是ViewData下的包裝,但它更加實用。 – 2011-01-30 08:28:29

回答

6

您需要定義包含兩個屬性,你有興趣在一個新的模式:

public class CurrencyCodesViewModel 
{ 
    public string CurrencyCode { get; set; } 
    public string ToCurrencyCode { get; set; } 
} 

,然後強烈鍵入您的局部視圖這一模式,並通過它的一個實例:

<% Html.RenderPartial(
    "~/Views/Shared/ExchangeRates.ascx", 
    new CurrencyCodesViewModel { 
     CurrencyCode = currencyCode, 
     ToCurrencyCode = toCurrencyCode 
    } 
); %> 
0

這不是RenderPartial()的情況,而是RenderAction(),它返回一個局部視圖。

相關問題