我無法弄清楚如何將帶有DropDownList的<SelectListItem>
文本從一個視圖傳遞到另一個視圖。如何將DropDownList中的<SelectListItem>文本傳遞給另一個視圖?
我使用的視圖:
@using (Html.BeginFormAntiForgeryPost())
{
@Html.Hidden("myData", new MvcSerializer().Serialize(Model, SerializationMode.Signed))
...
@Html.DropDownListFor(m => m.MyProperty, new SelectList(Model.MyPropertyList, "Value", "Text"))
...
}
在我的視圖模型(邁德特),我有:
[Serializable]
public class MyData
{
public int MyProperty{ get; set; }
public IEnumerable<SelectListItem> MyPropertyList{ get; set; }
...
public MyData()
{
var mypropertylist = new List<SelectListItem>() {
new SelectListItem { Text = "(Please select)" },
new SelectListItem { Value = "1", Text="Some text." },
new SelectListItem { Value = "2", Text="Some other text." }
};
this.MyPropertyList = mypropertylist; //Edited
}
}
我使用嚮導,並希望通過在收集到的數據一步到確認頁面或我的代碼生成的電子郵件。
例如,如果我在視圖中做了@Html.EditorFor(m => m.FirstName)
,我可以通過執行@Model.FirstName
將該輸入傳遞給確認視圖。
我有RadioButtons,我可以執行以下操作:@Html.Raw(MyNamespace.ViewModels.MyModel.MyPropertyDictionary.mypropertyDictionary[Model.MyProperty])
將數據傳遞到我的確認視圖。但是我無法爲DropDown正確創建@Html.Raw
(假設這是我必須做的)。
謝謝!
UPDATE(要添加每評論請求控制器代碼):
控制器:
private MyData myData;
....
//
// STEP 1:
// AskUs
public ActionResult AskUsDetails(string nextButton)
{
if ((nextButton != null) && ModelState.IsValid)
return RedirectToAction("AskUsSubmitted");
return View("AskUs/Details", myData);
}
//
// STEP 2:
// AskUs/Submitted
public ActionResult AskUsSubmitted()
{
// Todo: Save myData database; render a "Submitted" view
MyMailer.AskUs(myData).Send();
return View("AskUs/Submitted", myData);
}
注意事項:
- 有一個序列部分到控制器。我不知道它是否相關(如果是,我會在上面的代碼中編輯)。
- 使用MvcMailer,所以有2個其他文件涉及,但我不知道是否與其相關的(這是上面的
MyMailer.AskUs(myData).Send();
部分)。
UPDATE:
如果我在確認視圖@Model.MyPropertyList
,我的觀點顯示
System.Collections.Generic.List1[System.Web.Mvc.SelectListItem]
如果我使用@Model.MyProperty
我得到的值,例如,
1
我只需要弄清楚如何輸出實際的「文本」包含例如,在
new SelectListItem { Value = "1", Text="**Some text.**" }
任何如何做到這一點的例子將不勝感激。
我們能看到你的控制器代碼? – sarvesh 2012-02-10 00:07:45
@iaimtomisbehave更新後放置控制器代碼 - 讓我知道是否還有其他需要查看的內容。非常感謝 – REMESQ 2012-02-10 01:24:15
看到我的DDL教程http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc和http://blogs.msdn.com/b/rickandy/archive/2012/01/09/cascasding-dropdownlist-in-asp-net-mvc.aspx – RickAndMSFT 2012-02-10 19:04:13