2
我有這個控制器ASP.Net MVC3 DROPDOWNLIST和傳球數據
public ActionResult Index()
{
IList<Partner> p = r.ListPartners();
ViewBag.Partners = new SelectList(p.AsEnumerable(), "PartnerID", "Name");
return View();
}
//
// POST: /Epub/
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> fileUpload)
{
IList<Partner> p = r.ListPartners();
ViewBag.Partners = new SelectList(p.AsEnumerable(), "PartnerID", "Name");
int count = 0;
for (int i = 0; i < fileUpload.Count(); i++)
{
if (fileUpload.ElementAt(i) != null)
{
count++;
var file = fileUpload.ElementAt(i);
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
// need to modify this for saving the files to the server
var path = Path.Combine(Server.MapPath("/App_Data/uploads"), Guid.NewGuid() + "-" + fileName);
file.SaveAs(path);
}
}
}
if (count == 0)
{
ModelState.AddModelError("", "You must upload at least one file!");
}
return View();
}
而且
@{
ViewBag.Title = "Index";
}
<h2>You are in the epub portal!</h2>
@Html.Partial("_Download")
@model IEnumerable<EpubsLibrary.Models.Partner>
@{
@Html.DropDownList("PartnerID", (IEnumerable<SelectListItem>)ViewBag.Partners)
}
我試圖找出如何選擇PARTNERID從視圖傳遞迴相應的視圖控制器。任何指針將不勝感激。我看了其他帖子,但似乎無法找到解決方案,將有助於此。
提前感謝您的時間。
與使用ViewBag存儲值有何不同?當我發佈表單時,我需要從下拉列表中獲取所選項目的值,並在後期重新選擇,以便用戶不必這樣做。 – samack
那麼,ViewBag對象用於將值從Controller傳遞給View。我之前寫的是如何將視圖中的值傳遞給控制器,這就是您在帖子中提出的問題。您可以使用ViewBag將值傳遞給視圖,然後當用戶發佈視圖時,使用上述技術獲取該值,然後當您需要再次顯示視圖時,再次使用ViewBag來傳遞選定的值並在DropDownList中選擇適當的項目。那有意義嗎? –
非常感謝您的幫助我已經明白了這一點,並感謝您的意見。如果我有代表,我會鼓勵你。 – samack