我正在使用C#和SQL Server 2005开发ASP .Net MVC 3应用程序
我也使用实体框架和代码优先方法
我创建了一个'DropDownList'来从我的基表中加载数据
但结果是,这个DropDownList向我显示:'NameofApplication.Models.NameofTable'
我不知道为什么?
这是视图中DropDownlist的声明:
<%:Html.Label("Gamme :")%>
<%: Html.DropDownList("ID_Gamme", String.Empty) %>
这是Profile_Ga的控制器:
namespace MvcApplication2.Controllers
{
public class ProfileGaController : Controller
{
private GammeContext db = new GammeContext();
//
// GET: /ProfileGa/
public ViewResult Index(Profile_Ga profile_ga)
{
ViewBag.ID_Gamme = new SelectList(db.Profil_Gas, "ID_Gamme", profile_ga.ID_Gamme);
return View(db.Profil_Gas.ToList());
}
最后这是模特:
namespace MvcApplication2.Models
{
public class Profile_Ga
{
[Required]
[Key]
[Display(Name = "ID Gamme:")]
public string ID_Gamme { get; set; }
[Required]
[Display(Name = "Gamme Entrante:")]
public string In_Ga { get; set; }
[Required]
[Display(Name = "Gamme Sortante:")]
public string Out_Ga { get; set; }
[Required]
[Display(Name = "Gamme Suivante:")]
public string Next_Gamme { get; set; }
[Required]
[Display(Name = "Etat:")]
public string Etat { get; set; }
}
}
PS:
基表中的表名是Profile_Ga
答案 0 :(得分:1)
您正在返回Profile_Ga
的集合,我认为您打算使用
<%: Html.DropDownList("ID_Gamme",
new SelectList(Model, "ID_Gamme", "ID_Gamme ")) %>
虽然这看起来不正确。在你的方法中你做了这个
public ViewResult Index(Profile_Ga profile_ga)
{
ViewBag.ID_Gamme = new SelectList(
db.Profil_Gas, "ID_Gamme", profile_ga.ID_Gamme);
// did you plan to return a single instance here
// and use that as your model
return View(single_instance_of_Profile_Ga );
}
然后你的观点看起来像这样
// then you can declare the dropdown like this
<%: Html.DropDownListFor(m => m.ID_Gamme, (SelectList)ViewBag.ID_Gamme) %>
更新(来自评论)
Thx,“您希望显示从数据库中获取的列表 你的观点“ - &gt;是的,这就是我想要的东西
public ViewResult Index(Profile_Ga profile_ga)
{
// you need to decide if you want to use this
// ViewBag.ID_Gamme = new SelectList(
// db.Profil_Gas, "ID_Gamme", profile_ga.ID_Gamme);
// or this
// return View(db.Profil_Gas.ToList());
// but since it seems you are confuse to what you are doing
// then I suggest you just do this
// this will return a collection model to your view
return View(db.Profil_Gas.ToList());
}
然后在你看来你需要这样做
<%: Html.DropDownList("ID_Gamme", SelectList(Model) %>
你打算做那个下拉菜单 - &gt;我选择的时候我想要的 item ,,,出现一个弹出窗口。数据的加载总是错误的,为什么我 将编辑
您需要编辑您的问题,因为您最初没有问过这个问题。所以我的问题是弹出窗口会有什么样的编辑形式?你需要提出一个新问题,因为你必须解释它,我必须回答,你必须在评论中提问,这将是一个长时间的聊天 - 所以不会那样。无论如何,这是一个新问题并且提出问题是免费的;)