Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVC3.0中绑定dropdownlist_C#_Asp.net_Linq - Fatal编程技术网

C# 如何在MVC3.0中绑定dropdownlist

C# 如何在MVC3.0中绑定dropdownlist,c#,asp.net,linq,C#,Asp.net,Linq,我是mvc新手,我想在mvc 3.0中绑定dropdownlist。我的代码如下 桌子 tbl_Modules ------------------ Module_Id ModuleName ModuleDescription tbl_DocumentTypes ------------------- Document_Id DocumentName DocumentDescription Module_Id 我想创建一个表单来添加文档类型,并在表单中创建一个dropdownlist,

我是mvc新手,我想在mvc 3.0中绑定dropdownlist。我的代码如下

桌子

tbl_Modules 
------------------
Module_Id
ModuleName
ModuleDescription



tbl_DocumentTypes
-------------------
Document_Id
DocumentName
DocumentDescription
Module_Id
我想创建一个表单来添加文档类型,并在表单中创建一个dropdownlist,其中
Module\u Id
作为值,
ModuleName
作为文本

public class DocumetRepository
{
    InwardManagementEntities db = new InwardManagementEntities();
    public IQueryable<tbl_DocumentTypes> FindAllDocumentTypes()
    {
        return db.tbl_DocumentTypes;
    }
}

public class DocumentTypeViewModel
{
     ModuleRepository _modulerepository = new ModuleRepository();
     public tbl_DocumentTypes Document { get; private set; }
     public SelectList Modules { get; private set; }

     public DocumentTypeViewModel(tbl_DocumentTypes document)
     {
          Document = document;
          //var _modules = _modulerepository.FindAllModules().Select(d => new  {Module_Id= SqlFunctions.StringConvert((double?)d.Module_Id), Text = d.ModuleName });
          var _modules = _modulerepository.FindAllModules().Select(d => new SelectListItem() {Value= SqlFunctions.StringConvert((double?)d.Module_Id), Text = d.ModuleName });
           Modules = new SelectList(_modules, Document.Module_Id);
      }
}
查看:

public ActionResult AddDocument()
{
    tbl_DocumentTypes _document = new tbl_DocumentTypes();
    return View(new DocumentTypeViewModel(_document));
}
<div class="editor-label">Module</div>
<div class="editor-field">
    @Html.DropDownList("Document.Module_Id", Model.Modules.ToList())
    @Html.ValidationMessageFor(model => model.Document.Module_Id)
</div>
模块
@DropDownList(“Document.Module_Id”,Model.Modules.ToList())
@Html.ValidationMessageFor(model=>model.Document.Module\u Id)

但在dropdownlist中,我得到了
System.Web.Mvc.SelectListItem
。请提供帮助。

文档类型视图模型的
模块
属性更改为
IEnumerable

公共类DocumentTypeViewModel
{
ModuleRepository _ModuleRepository=新的ModuleRepository();
公共tbl_DocumentTypes文档{get;private set;}
公共IEnumerable模块{get;private set;}
公共文档类型视图模型(待定文档类型文档)
{
文件=文件;
//var\u modules=\u modulerepository.FindAllModules().Select(d=>new{Module\u Id=SqlFunctions.StringConvert((double?)d.Module\u Id),Text=d.ModuleName});
Modules=_modulerepository.FindAllModules()
.选择(d=>new SelectListItem
{ 
Value=SqlFunctions.StringConvert((双精度?)d.Module_Id),
Text=d.ModuleName
});          
}
}
在你看来:

<div class="editor-label">Module</div>
<div class="editor-field">
    @Html.DropDownList("Document.Module_Id", Model.Modules)
    @Html.ValidationMessageFor(model => model.Document.Module_Id)
</div>
模块
@DropDownList(“Document.Module_Id”,Model.Modules)
@Html.ValidationMessageFor(model=>model.Document.Module\u Id)
<div class="editor-label">Module</div>
<div class="editor-field">
    @Html.DropDownList("Document.Module_Id", Model.Modules)
    @Html.ValidationMessageFor(model => model.Document.Module_Id)
</div>