Asp.net mvc MVC下拉列表
我有一个下拉列表:Asp.net mvc MVC下拉列表,asp.net-mvc,drop-down-menu,Asp.net Mvc,Drop Down Menu,我有一个下拉列表: <%=Html.DropDownList("memberInvoiceStatus", ViewData["memberInvoiceStatus"] as SelectList)%> 我可以在视图中设置默认值吗 我是这样装订的 IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus()); ViewData["memberInvoi
<%=Html.DropDownList("memberInvoiceStatus", ViewData["memberInvoiceStatus"] as SelectList)%>
我可以在视图中设置默认值吗
我是这样装订的
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
ViewData["memberInvoiceStatus"] = new SelectList(memberInvoiceStatus, "payStatusId", "payStatusText");
因此,我有一个memberInvoiceStatus 4 total集合,但我需要每个集合的选定值,请尝试:
尝试:
我假设您希望该值反映模型的当前值。如果没有,则可以使用帮助器的版本,该版本允许您为列表指定默认的未选中选项。如果是这样的话,您可能希望在模型或视图数据中有两个不同的属性—我几乎总是使用强类型视图模型—一个用于属性,另一个用于选项列表。助手将从属性值中选择“选择”列表的默认值(如果可用) 例:
使用强类型HtmlHelper扩展可能更好,但需要使用MVC未来程序集或等到MVC 2.0。我假设您希望该值反映模型的当前值。如果没有,则可以使用帮助器的版本,该版本允许您为列表指定默认的未选中选项。如果是这样的话,您可能希望在模型或视图数据中有两个不同的属性—我几乎总是使用强类型视图模型—一个用于属性,另一个用于选项列表。助手将从属性值中选择“选择”列表的默认值(如果可用) 例:
使用强类型的HtmlHelper扩展可能更好,但需要使用MVC组件或等到MVC 2.0。解决此问题的方法是创建一个列表 假设您的薪资状况如下:
public class PayStatus
{
int id;
string StatusName;
}
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
所以你可以这样做:
public class PayStatus
{
int id;
string StatusName;
}
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
你会通过:
ViewData["memberInvoiceStatus"] = new SelectList(statusList , "payStatusId", "payStatusText");
尽管我认为如果您只是将SelectListItem列表添加到viewdata中会更容易
ViewData["ListOfStatus"] = statusList;
在视图中,您可以这样做:
public class PayStatus
{
int id;
string StatusName;
}
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
这将生成一个列表,其中您标记为selected=true的元素作为默认的选定项。解决此问题的方法是创建一个列表 假设您的薪资状况如下:
public class PayStatus
{
int id;
string StatusName;
}
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
所以你可以这样做:
public class PayStatus
{
int id;
string StatusName;
}
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
你会通过:
ViewData["memberInvoiceStatus"] = new SelectList(statusList , "payStatusId", "payStatusText");
尽管我认为如果您只是将SelectListItem列表添加到viewdata中会更容易
ViewData["ListOfStatus"] = statusList;
在视图中,您可以这样做:
public class PayStatus
{
int id;
string StatusName;
}
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
这将生成一个列表,其中您标记为selected=true的元素将作为默认的选定项。设置默认值,是的,但基本上它是一个no选项的选定值。这可能很方便,而且通常是一种方法。我假设他希望它从模型中获取一个默认值,比如在编辑视图中,而不是在新视图中。@tvanfosson,问题中没有足够的信息。我只是在猜测。这设置了一个默认值,是的,但基本上它是一个非选项选择值。这可能很方便,而且通常是一种方法。我假设他希望它从模型中获取一个默认值,比如在编辑视图中,而不是在新视图中。@tvanfosson,问题中没有足够的信息。我只是在猜。