Html 如何在Asp.net MVR中获取下拉列表中选定项的文本

Html 如何在Asp.net MVR中获取下拉列表中选定项的文本,html,asp.net-mvc,razor,Html,Asp.net Mvc,Razor,当我要发送所选项目的文本时,当我选择任何项目并将其id发送到模型时,我有一个下拉列表。我如何才能做到这一点?这是我发送所选项目id的代码,我还发布了获取所选项目的方法的代码。请帮助我哪里出错 看法 分配给 @Html.DropDownListFor(m=>m.AssignedTo,(ViewBag.DispatchersList)作为IEnumerable,新的{@class=”“}) @Html.ValidationMessageFor(m=>m.AssignedTo) 控制器 publ

当我要发送所选项目的文本时,当我选择任何项目并将其id发送到模型时,我有一个下拉列表。我如何才能做到这一点?这是我发送所选项目id的代码,我还发布了获取所选项目的方法的代码。请帮助我哪里出错

看法


分配给
@Html.DropDownListFor(m=>m.AssignedTo,(ViewBag.DispatchersList)作为IEnumerable,新的{@class=”“})
@Html.ValidationMessageFor(m=>m.AssignedTo)
控制器

public static object GetSelectListWithSelectOption(dynamic model, int selected, string valuefield, string textfield, bool addSelect = true, string addSelectValue = "-1", bool performSort = false)
{
    List<SelectListItem> selectList = null;
    if (model != null)
    {
        selectList = new SelectList(model, valuefield, textfield, selected).ToList();
        if (performSort)
            selectList = selectList.OrderBy(x => x.Text).ToList();
    }
    else
    {
        selectList = new List<SelectListItem>();
    }
    if (addSelect)
        selectList.Insert(0, new SelectListItem { Text = Cygnus.Library.Resources.General.txtSelect, Value = addSelectValue, Selected = true });
    return selectList;
}
公共静态对象GetSelectListWithSelectOption(动态模型,选中整数,字符串值字段,字符串文本字段,bool addSelect=true,字符串addSelectValue=“-1”,bool performSort=false)
{
List-selectList=null;
如果(型号!=null)
{
selectList=新的selectList(model,valuefield,textfield,selected).ToList();
如果(性能排序)
selectList=selectList.OrderBy(x=>x.Text.ToList();
}
其他的
{
选择列表=新列表();
}
如果(添加选择)
插入(0,新SelectListItem{Text=Cygnus.Library.Resources.General.txtSelect,Value=addSelectValue,Selected=true});
返回选择列表;
}

要想发回文本,只需将
SelectListItems
属性的
值填写为
文本
属性提供的相同值即可

public static object GetSelectListWithSelectOption(dynamic model, int selected, string valuefield, string textfield, bool addSelect = true, string addSelectValue = "Selected Item Text", bool performSort = false)
{
    List<SelectListItem> selectList = null;
    if (model != null)
    {
        selectList = new SelectList(model, textfield, textfield, selected).ToList();
        if (performSort)
            selectList = selectList.OrderBy(x => x.Text).ToList();
    }
    else
    {
        selectList = new List<SelectListItem>();
    }
    if (addSelect)
        selectList.Insert(0, new SelectListItem { Text = Cygnus.Library.Resources.General.txtSelect, Value = Cygnus.Library.Resources.General.txtSelect, Selected = true });
    return selectList;
}
公共静态对象GetSelectListWithSelectOption(动态模型,选中整数,字符串值字段,字符串文本字段,bool addSelect=true,string addSelectValue=“所选项目文本”,bool performSort=false)
{
List-selectList=null;
如果(型号!=null)
{
selectList=新建selectList(型号、文本字段、文本字段、选定项)。ToList();
如果(性能排序)
selectList=selectList.OrderBy(x=>x.Text.ToList();
}
其他的
{
选择列表=新列表();
}
如果(添加选择)
插入(0,新SelectListItem{Text=Cygnus.Library.Resources.General.txtSelect,Value=Cygnus.Library.Resources.General.txtSelect,Selected=true});
返回选择列表;
}

要想发回文本,只需将
SelectListItems
属性的
值填写为
文本
属性提供的相同值即可

public static object GetSelectListWithSelectOption(dynamic model, int selected, string valuefield, string textfield, bool addSelect = true, string addSelectValue = "Selected Item Text", bool performSort = false)
{
    List<SelectListItem> selectList = null;
    if (model != null)
    {
        selectList = new SelectList(model, textfield, textfield, selected).ToList();
        if (performSort)
            selectList = selectList.OrderBy(x => x.Text).ToList();
    }
    else
    {
        selectList = new List<SelectListItem>();
    }
    if (addSelect)
        selectList.Insert(0, new SelectListItem { Text = Cygnus.Library.Resources.General.txtSelect, Value = Cygnus.Library.Resources.General.txtSelect, Selected = true });
    return selectList;
}
公共静态对象GetSelectListWithSelectOption(动态模型,选中整数,字符串值字段,字符串文本字段,bool addSelect=true,string addSelectValue=“所选项目文本”,bool performSort=false)
{
List-selectList=null;
如果(型号!=null)
{
selectList=新建selectList(型号、文本字段、文本字段、选定项)。ToList();
如果(性能排序)
selectList=selectList.OrderBy(x=>x.Text.ToList();
}
其他的
{
选择列表=新列表();
}
如果(添加选择)
插入(0,新SelectListItem{Text=Cygnus.Library.Resources.General.txtSelect,Value=Cygnus.Library.Resources.General.txtSelect,Selected=true});
返回选择列表;
}

要想发回文本,只需将
SelectListItems
属性的
值填写为
文本
属性提供的相同值即可

public static object GetSelectListWithSelectOption(dynamic model, int selected, string valuefield, string textfield, bool addSelect = true, string addSelectValue = "Selected Item Text", bool performSort = false)
{
    List<SelectListItem> selectList = null;
    if (model != null)
    {
        selectList = new SelectList(model, textfield, textfield, selected).ToList();
        if (performSort)
            selectList = selectList.OrderBy(x => x.Text).ToList();
    }
    else
    {
        selectList = new List<SelectListItem>();
    }
    if (addSelect)
        selectList.Insert(0, new SelectListItem { Text = Cygnus.Library.Resources.General.txtSelect, Value = Cygnus.Library.Resources.General.txtSelect, Selected = true });
    return selectList;
}
公共静态对象GetSelectListWithSelectOption(动态模型,选中整数,字符串值字段,字符串文本字段,bool addSelect=true,string addSelectValue=“所选项目文本”,bool performSort=false)
{
List-selectList=null;
如果(型号!=null)
{
selectList=新建selectList(型号、文本字段、文本字段、选定项)。ToList();
如果(性能排序)
selectList=selectList.OrderBy(x=>x.Text.ToList();
}
其他的
{
选择列表=新列表();
}
如果(添加选择)
插入(0,新SelectListItem{Text=Cygnus.Library.Resources.General.txtSelect,Value=Cygnus.Library.Resources.General.txtSelect,Selected=true});
返回选择列表;
}

要想发回文本,只需将
SelectListItems
属性的
值填写为
文本
属性提供的相同值即可

public static object GetSelectListWithSelectOption(dynamic model, int selected, string valuefield, string textfield, bool addSelect = true, string addSelectValue = "Selected Item Text", bool performSort = false)
{
    List<SelectListItem> selectList = null;
    if (model != null)
    {
        selectList = new SelectList(model, textfield, textfield, selected).ToList();
        if (performSort)
            selectList = selectList.OrderBy(x => x.Text).ToList();
    }
    else
    {
        selectList = new List<SelectListItem>();
    }
    if (addSelect)
        selectList.Insert(0, new SelectListItem { Text = Cygnus.Library.Resources.General.txtSelect, Value = Cygnus.Library.Resources.General.txtSelect, Selected = true });
    return selectList;
}
公共静态对象GetSelectListWithSelectOption(动态模型,选中整数,字符串值字段,字符串文本字段,bool addSelect=true,string addSelectValue=“所选项目文本”,bool performSort=false)
{
List-selectList=null;
如果(型号!=null)
{
selectList=新建selectList(型号、文本字段、文本字段、选定项)。ToList();
如果(性能排序)
selectList=selectList.OrderBy(x=>x.Text.ToList();
}
其他的
{
选择列表=新列表();
}
如果(添加选择)
插入(0,新SelectListItem{Text=Cygnus.Library.Resources.General.txtSelect,Value=Cygnus.Library.Resources.General.txtSelect,Selected=true});
返回选择列表;
}

然后使
选择列表的
文本
属性和
属性相同-
选择列表=新选择列表(型号、文本字段、文本字段)
。请注意,添加第四个参数没有意义-您绑定到一个属性,因此它被忽略。它可以工作。非常抱歉,这是我很长时间以来看到的最没有意义的代码。您的方法创建了一个
SelectList
,但您将其作为
对象返回,这意味着您需要再次强制转换它。您的方法接受
dynamic
,但
SelectList
接受
IEnumerable
意味着您可以抛出异常。参数
int selected
是无意义的,因为当您绑定到模型时,它会被忽略。参数
addSelect
addSelectValue
不了解如何使用
SelectList
,这意味着您甚至不能在模型属性上使用基本的
[必需的]
属性(您可以使用的第3个参数生成标签选项。)