如何爲MVC模型中的枚舉或列表準備Dropdownlist靜態值(未從數據庫中檢索)的模型,以便可以在項目中多次使用該模型?如果你能寫出一篇好文章,我將不勝感激。謝謝。如何在MVC模型中創建靜態下拉列表值
0
A
回答
0
最後,我通過將參數描述爲隱藏輸入來找到解決方案。我不確定是否有一個更優雅的方法來將視圖中的參數傳遞給控制器。非常感謝你的好樣品。我也標記爲有幫助的所有答覆。這是我最後的代碼對於那些誰可能會遇到類似的問題:
ApplicantViewModel:
public class ApplicantViewModel
{
public IEnumerable<Applicant> Applicants { get; set; }
//Codes for Dropdownlist values
public string SelectedValue { get; set; }
public IEnumerable<SelectListItem> Values
{
get
{
return new[]
{
new SelectListItem { Value = "pdf", Text = "Pdf" },
new SelectListItem { Value = "excel", Text = "Excel" },
new SelectListItem { Value = "word", Text = "Word" }
};
}
}
}
ApplicantController:
public ViewResult Reporting()
{
var model = new ApplicantViewModel();
return View(model);
}
public ActionResult RenderReport(string SelectedValue, string name, string fileName, string dataSource, string table, string filter)
{
//Codes for rendering report
...
}
Reporting.cshtml:
@model MyProject.Models.ApplicantViewModel
@using (Html.BeginForm("RenderReport", "Applicant", FormMethod.Post,
new { enctype = "multipart/form-data" }))
{
<div>
@Html.DropDownListFor(model => model.SelectedValue, Model.Values, "-- select an option --")
<input type="hidden" name="name" value="Report1"/>
<input type="hidden" name="fileName" value="image rapor"/>
<input type="hidden" name="dataSource" value="ApplicantDataset"/>
<input type="hidden" name="table" value="ApplicantsView"/>
<input type="hidden" name="filter" value="David"/>
<input type="submit" value="submit" />
</div>
}
9
與往常一樣,你可以用一個視圖模型開始:
public class MyViewModel
{
public string SelectedValue { get; set; }
public IEnumerable<SelectListItem> Values
{
get
{
return new[]
{
new SelectListItem { Value = "1", Text = "Item 1" },
new SelectListItem { Value = "2", Text = "Item 2" },
new SelectListItem { Value = "3", Text = "Item 3" },
};
}
}
}
然後控制器:
public ActionResult Index()
{
var model = new MyViewModel();
return View(model);
}
最後一個觀點:
@model MyViewModel
@Html.DropDownListFor(x => x.SelectedValue, Model.Values)
對於您可以使用一些枚舉在那裏的很多帖子說明了自定義助手。這裏有一篇博客文章說明這樣的幫手:http://blogs.msdn.com/b/stuartleeks/archive/2010/05/21/asp-net-mvc-creating-a-dropdownlist-helper-for-enums.aspx
相關問題
- 1. 靜態下拉列表中MVC
- 2. 在MVC中創建下拉列表nhibernate
- 3. 如何在Asp.net MVC中用分隔符創建帶有靜態和動態值的下拉列表
- 4. 在Mvc表內創建下拉列表
- 5. 如何在創建/更新表單中添加「靜態」下拉列表框
- 6. 在MVC項目中,如何在下拉列表更改值時更新模型?
- 7. ASP.NET MVC - 設置靜態選擇的默認值(下拉列表)
- 8. MVC模型綁定和下拉列表
- 9. 在Yii中使用多個模型創建下拉列表
- 10. 如何在asp.net中創建動態文本框下拉列表
- 11. 如何在asp.net中創建動態文本框,下拉列表
- 12. 如何在JavaScript中動態創建下拉菜單列表?
- 13. 如何在Excel中創建動態下拉列表
- 14. 如何在PHP中創建動態下拉列表?
- 15. MVC與剃刀創建下拉列表
- 16. 爲MVC創建下拉列表ASP.NET
- 17. 如何從ASP.NET MVC中的枚舉創建下拉列表?
- 18. 如何在ASP.Net MVC創建下拉列表
- 19. 下拉列表值不在創建MVC 5
- 20. 如何在自定義值的Excel中創建下拉列表
- 21. 在Spring MVC中動態創建模型
- 22. 如何根據另一個動態下拉列表的值創建動態下拉列表?
- 23. 如何在mvc中創建動態下拉菜單
- 24. 在SharePoint中使用列表中的值創建下拉列表
- 25. mvc下拉列表與類型列表的模型
- 26. 創建的狀態下拉列表
- 27. Android創建狀態下拉列表
- 28. 創建動態下拉列表
- 29. jQuery創建動態下拉列表
- 30. 創建動態下拉列表
感謝您的答覆。我會嘗試並告知你結果。我只是想知道; 1)如果我用Student實體使用這些值,我也會將這個實體添加到同一個ViewModel。真的嗎? 2)如果我在同一張剃鬚刀上使用兩個上拉列表(例如Yes/No值),那麼我是否需要創建另一個SelectListItem?或者它也可以在同一張Razor頁面上用於不同的Dropdownlist? - –
我測試了這個好方法。但問題是:我無法將SelectedValue傳遞給控制器。我怎樣才能用這種方法做到這一點? –
您的HttpPost控制器操作可以將視圖模型作爲參數,然後您將自動在「SelectedValue」屬性中獲取所選值。 –