2012-11-29 45 views
0

我想從視圖中發送一個字符串參數,使用部分視圖的部分視圖。部分查看參數

例如:我希望能夠從視圖中創建對部分視圖的調用並將創建的字符串發送到局部視圖中。

我可以那樣做嗎?

+0

你是隻在頁面加載時執行此操作還是要基於頁面上的某些數據條目更新該部分視圖? – hunter

+0

我正要回答,但實際上有幾種方法可以根據您的上下文來做到這一點。你打算如何計算價值?您是否嘗試將值發送給p.v.與Ajax/JS或回發?在價值達到p.v.之後,你想要做什麼?它是隻讀還是要發佈回服務器? –

回答

1

通過調用如果我沒有理解它返回局部視圖

@Html.RenderAction("actionName", "controllerName", new {parameterName= value}); 
2

動作全部正確你說的是,你要能夠從視圖參數傳遞給一個局部視圖渲染的局部視圖裏面?

是的,你可以。

你可以簡單地調用

@{Html.RenderAction("ActionMethodName",new {parameterName = value})} 

,或者您需要額外的處理的變量傳遞給可通過操作方法通過。

1)創建視圖(我們稱之爲「用戶」爲例子的緣故)

2)創建的局部視圖(讓稱它爲「_UserInfo」進行同樣的例子)

3 )創建的操作方法將返回「_userInfo」局部視圖到父用戶視圖,你要去哪裏傳遞的字符串:

public PartialViewResult UserInfo(string userName) 
{ 
return PartialView("_UserInfo",userName); 
} 

4)因此,現在,爲了傳遞一個字符串即可只需將其添加到您的主視圖中: @Model用戶

@{Html.RenderAction("UserInfo","ControllerName",new {userName=Model.UserName}} //Note that the parameter name has to match with the parameter name you're receiving at the Action Method (UserInfo method above). It has to be reflected in routing as well. 

p.s.這個問題之前被問過很多次。看看下面的問題,例如: passing parameters to my partial view?