【发布时间】:2014-10-15 16:51:32
【问题描述】:
我正在使用 MVC4 和 Umbraco 7.1.8 开发 Umbraco 站点。我创建了一个模型、一个控制器和一个局部视图。 我有一个下拉列表,当用户在该下拉列表中选择值时,它应该存储该文本字符串。它存储索引而不是文本。下面是我的代码。
我的模型:-
public class PhoneType
{
public int typeid { get; set; }
public string Value { get; set; }
}
public IEnumerable<PhoneType> PhonetypeOptions =
new List<PhoneType>
{
new PhoneType {typeid = 0, Value = "Mobile"},
new PhoneType {typeid = 1, Value = "Home"},
new PhoneType {typeid = 2, Value = "Office"}
};
[Required, Display(Name = "Phone Number Type")]
public string PhoneNumberType { get; set; }
我的部分视图 Html:-
<div class="fieldWrapper">
@Html.LabelFor(m => m.PhoneNumberType)
@Html.DropDownListFor(m => m.PhoneNumberType, new SelectList(Model.PhonetypeOptions,"typeid","Value",Model.PhonetypeOptions.First().typeid))
@Html.ValidationMessageFor(m => m.Email, "Please Enter Email", new {@class = "error"})
</div>
我的控制器代码:-
member.getProperty("phoneNumberType").Value = model.PhoneNumberType;
现在当我提交表单并签入数据库时,电话号码类型是索引而不是文本字符串。
你能帮我解决这个问题吗?
提前感谢您的回复。
【问题讨论】:
-
那么您的期望是什么,将 id 发送到您的服务器是常见的方式
-
但是当你存储下拉值时它应该是文本字符串,但是在数据库中我得到了索引。
-
如果您重命名该值,该值将如何帮助您,如果不是,它是您想要的 id,那么目的是什么。如果您不希望索引将值放在列表的两侧
-
好吧,让我试试吧.. 我刚开始在 mvc 中工作。我是新蜜蜂所以我找到了这个例子并按照它制作。感谢您的回复。
标签: c# asp.net-mvc-4 umbraco7