否使用javascript \ AJAX。如何獲取asp.net mvc中selectfield的datafieldtext或selectedtext的值?
回答
權,如果你在代碼生成列表後面,你給每個選項的唯一標識符,那麼你就可以搶標識,且具有在代碼和項目因此文本嫁給它。
所以;
public class MonthlyItemsFormViewModel
{
public SelectList Months;
public string SelectedMonth {get;set;}
}
然後;
public ActionResult Index()
{
MonthlyItemsFormViewModel fvm = new MonthlyItemsFormViewModel();
FillData(fvm, DateTime.Now);
return View(fvm);
}
然後;
private void FillData(MonthlyItemsFormViewModel fvm, DateTime SelectedMonth)
{
List<string> months = DateTime.Now.MonthList(DateTime.Now);
fvm.Months = new SelectList(months, fvm.SelectedMonth);
}
然後在你看來;
<% using (Html.BeginForm()) { %>
<%=Html.DropDownList("selectedMonth", Model.Months) %>
<%} %>
然後在回覆;
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection collection)
{
MonthlyItemsFormViewModel fvm = new MonthlyItemsFormViewModel();
UpdateModel(fvm);
FillData(fvm, DateTime.Parse(DateTime.Now.Year.ToString() + " " + fvm.SelectedMonth + " 01"));
return View(fvm);
}
這是在後的代碼後面,你可以抓住從FVM所選擇的值,然後在你的選擇列表中的項目嫁給那個值了。
此代碼直接從我的代碼中解除,因此可能需要修改以適應您的情況。
這是否有意義?
你試過的一些代碼在這裏會很方便kurozakura。
同時,
如果您已將視圖綁定到模型,則可以使用UpdateModel將值返回。
所以,如果你綁定到一個名爲User的類然後;
User myUser = new User;
TryUpdateModel(myUser);
如果你還沒有綁定它,然後使用Eduardo的技術,並使用類似的東西;
public ActionResult MyViewsAction(FormCollection collection)
{
string a = collection["selectListCtrlname"];
}
以及我沒有使用FormCollection,但沒有運氣,因爲如果我這樣做只會返回存儲的字符串值,該值來自下拉列表的值,但我需要文本 – kurozakura 2009-08-27 03:48:21
我不確定您想要什麼,除非您設置每個選項的值屬性也是文字。因此,一個選項可能看起來像<選項值=「這是選項的文本」>這是選項的文本,但我不知道你會得到多遠。還有一種方法,請參閱下一個答案。 – griegs 2009-08-27 03:53:42
下面的類使用反射來獲取列表中選定值的文本。不支持多個選定的列表項目。
using System.Web.Mvc;
/// <summary>
/// Provides a set of static methods for getting the text for the selected value within the list.
/// </summary>
public static class SelectListExtensions
{
/// <summary>
/// Gets the text for the selected value.
/// </summary>
/// <param name="list">The list.</param>
/// <returns></returns>
public static string GetSelectedText(this SelectList list)
{
foreach(var item in list.Items)
{
var dataValuePropertyInfo = item.GetType().GetProperty(list.DataValueField);
var itemValue = dataValuePropertyInfo.GetValue(item, null);
if(itemValue != null && itemValue.Equals(list.SelectedValue))
{
var textValuePropertyInfo = item.GetType().GetProperty(list.DataTextField);
return textValuePropertyInfo.GetValue(item, null) as string;
}
}
return null;
}
}
- 1. ASP.NET MVC:如何獲取路由值
- 2. 如何獲得ASP.NET MVC中的ViewBag值?
- 3. 如何獲取ASP.NET MVC區域的web.config中的值?
- 4. 如何在ASP.NET MVC中的htmlHelper中獲取帖子或獲取狀態?
- 5. asp.net mvc從Html.TextBoxFor()獲取值
- 6. asp.net mvc從Html.Checkbox獲取值
- 7. 獲取DropDownList的選定值。 Asp.NET MVC
- 8. 在asp.net MVC獲取dropdownlist的選定值
- 9. Jquery從下拉列表中獲取SelectedText
- 10. ASP.net MVC如何獲取項目列表的ID字段的值?
- 11. 在ASP.NET MVC中獲取標頭值
- 12. 如何在ASP.net中獲取數據MVC
- 13. 如何從Asp.Net Mvc表格中獲取價值
- 14. ASP.NET MVC - 如何從我的視圖中的文本框中獲取值?
- 15. 如何在asp.net中的dropdownlist中獲得選定的值mvc
- 16. Material-UI如何獲得SelectField的值在const內
- 17. 如何從ASP.Net MVC的窗體中使用javascript獲取驗證消息的值?
- 18. 如何使用JQuery Ajax從ASP.NET MVC 2中的Action中獲取值?
- 19. 如何從列表框中獲取所有未在ASP.NET MVC中選擇的值
- 20. 如何從ASP.NET MVC 3控制器中的列表框中獲取值?
- 21. 獲取與ASP.NET MVC中的FileUpload對應的CheckBox值
- 22. 如何在ASP.NET MVC中獲取我的webapp的基URL?
- 23. ASP.NET MVC Razor獲取選擇值
- 24. ASP.NET MVC操作未獲取參數值
- 25. ASP.NET MVC從DropDownList獲取Id(值)
- 26. ASP.Net MVC使用JQuery獲取QueryString值
- 27. ASP.NET MVC從URL獲取路由值
- 28. ASP.Net MVC:無鍵獲取查詢值
- 29. 獲取asp.net中選中複選框值的列表mvc
- 30. 如何截取或覆蓋ASP.NET MVC中的HtmlHelper鏈接生成?
你需要它在控制器中嗎?如果您在選項中指定了VALUE,您將在表單集合中收到此值(您可以搜索與數據庫或模型中的值關聯的文本) – 2009-08-27 03:00:59