2010-10-18 32 views
0

我有一個是在內容網頁上填入這樣C#MVC2 - 從內容頁

<%: Html.DropDownListFor(x => x.SelectedName, Model.NameList) %> 
<input name="btnGo" type="submit" value="GO" /> 

一個下拉列表,設置在母版頁標籤當用戶選擇的名稱,然後單擊GO按鈕,我有一個HTTP動作,讓我

[HttpPost] 
public ActionResult SelectName(string SelectedName) 
{ 
... 
} 

現在我要帶該名稱,並設置在MVC2的SelectedName 主一拉布勒這是怎麼完成的名字嗎?

回答

1

請記住,這不是Web窗體。 :)

換句話說,你不能在控制器動作做到這一點:

someLabel.Text = "foo" 

你最好的選擇是把你的ViewData的希望文字:

[HttpPost] 
public ActionResult SelectName(string SelectedName) 
{ 
    ... 
    ViewData["SelectedText"] = "some text"; 
    return View(); 
} 

然後將標籤設置爲主視圖中的標籤:

<span><%: ViewData["SelectedText"] %></span> 
+0

正確,沒有控制層次結構,因爲我們已經在WebForms中使用 – 2010-10-18 23:44:42

+0

@BurningIce - 這是一件好事。 :)我也很高興告別需要在頁面生命週期中控制不同的事件。 – RPM1984 2010-10-19 00:02:44

+0

@rpm我會說一切都有優點和缺點。我個人喜歡webforms和控件層次結構,但我看到太多的程序員沒有得到它並濫用它,然後MVC可能會對他們更好。 – 2010-10-19 00:06:50