MVC3怎么获取dropdownlist选中值???我的这个代码出现问题啦(如下),大虾帮帮忙

坐在山顶看河流 2011-12-06 11:26:15
@Html.DropDownList("buildinattr", new SelectList(ViewBag.Datalist, "UserTypeId", "UserTypeName"), new { style = "width:155px;margin-right:5px;" })
提示上面代码:值不能为 null。
参数名: items
...全文
851 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 sandy945 的回复:]

引用 23 楼 sandy945 的回复:
List<UserTypeModels> list = userInfo.GetUserTypeInfo();
ViewBag.Datalist = list ;

看看list 有数据么

是不是为null了
[/Quote]
他一直有数据,纠结,不知道怎么回事,就好了,什么也没改啊
阿非 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 sandy945 的回复:]
List<UserTypeModels> list = userInfo.GetUserTypeInfo();
ViewBag.Datalist = list ;

看看list 有数据么

是不是为null了
[/Quote]
  • 打赏
  • 举报
回复
我就郁闷,怎么好了呀,我什么也没改呀,纠结。。。。。
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 kkbac 的回复:]

页面能打开. dll也可以选择了.就排除绑定的问题了.

你可以调试下, 看看错误具体在哪里出现的.

你既然都是用mvc了. 尽量改正 user.UserTypeId = Request.Form["buildinattr"]; 方式的写法.
[/Quote]
不用拉,user.UserTypeId就是
kkbac 2011-12-07
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
纠结啊。。。。
什么也没改,怎么好了呀。可以转过来值了,也不出现那错误了
kkbac 2011-12-07
  • 打赏
  • 举报
回复
页面能打开. dll也可以选择了.就排除绑定的问题了.

你可以调试下, 看看错误具体在哪里出现的.

你既然都是用mvc了. 尽量改正 user.UserTypeId = Request.Form["buildinattr"]; 方式的写法.
阿非 2011-12-07
  • 打赏
  • 举报
回复
List<UserTypeModels> list = userInfo.GetUserTypeInfo();
ViewBag.Datalist = list ;

看看list 有数据么

是不是为null了
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 kkbac 的回复:]

public ActionResult Create(UserInfoModels user)
{
try
{
// TODO: Add insert logic here
user.UserTypeId = Request.Form["buildinattr"];
UserInfoBLL userInfo = new UserInfoBLL();
us……
[/Quote]
我就是添加,就是从数据库一个表读取数据显示在dropdownlist中,然后再添加到另一个表中。这个和Update有关系吗
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sandy945 的回复:]

new SelectList(ViewBag.Datalist
----------------------------
应该是你的action 中没有为 ViewBag.Datalist 赋值
[/Quote]
是不是应该把 ViewBag.Datalist 转化为IEnumerable<SelectListItem>
kkbac 2011-12-07
  • 打赏
  • 举报
回复
public ActionResult Create(UserInfoModels user)
{
try
{
// TODO: Add insert logic here
user.UserTypeId = Request.Form["buildinattr"];
UserInfoBLL userInfo = new UserInfoBLL();
userInfo.Update(user);
return RedirectToAction("Index");
}

你这里不是添加是更新? update代码是什么?
至少你的user对象本身就可能有问题, 监视下他的值.
  • 打赏
  • 举报
回复
是要把buildinattr 该成usertypeid吗,有多大关系吗
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 kkbac 的回复:]

user.UserTypeId = Request.Form["buildinattr"];

把ddl的名称改成usertypeid
[/Quote]
不理解????
kkbac 2011-12-07
  • 打赏
  • 举报
回复
user.UserTypeId = Request.Form["buildinattr"];

把ddl的名称改成usertypeid
  • 打赏
  • 举报
回复
赋值了, public ActionResult Create()
{
UserInfoModels userInfo1 = new UserInfoModels();
UserInfoBLL userInfo = new UserInfoBLL();
List<UserTypeModels> list = userInfo.GetUserTypeInfo();
ViewBag.Datalist = list ;
return View(userInfo1);
}

dropdownlist也显示,就是如果再把dropdownlist选中的值添加到数据库中就出现上面的错误了
阿非 2011-12-07
  • 打赏
  • 举报
回复
new SelectList(ViewBag.Datalist
----------------------------
应该是你的action 中没有为 ViewBag.Datalist 赋值
  • 打赏
  • 举报
回复
能再帮帮忙,看一下我代码吗?哪出错了??
<div class="editor-label">
用户类型名称
</div>
<div class="editor-field">
@Html.DropDownList("buildinattr",new SelectList(ViewBag.Datalist as System.Collections.IEnumerable, "UserTypeId", "UserTypeName"), new { style = "width:155px;margin-right:5px;" })
@Html.ValidationMessageFor(model => model.UserTypeId)
</div>




public ActionResult Create(UserInfoModels user)
{
try
{
// TODO: Add insert logic here
user.UserTypeId = Request.Form["buildinattr"];
UserInfoBLL userInfo = new UserInfoBLL();
userInfo.Update(user);
return RedirectToAction("Index");
}
选择dropdownlist中内容,点击添加时就会出现:
值不能为 null。
参数名: items
  • 打赏
  • 举报
回复
控制器在呈现的时候,设置默认选中,即下面的Selected
  public static List<SelectListItem> GetChild(int CompanyID,int? selectid)
{
return new OEMPPEntities().P_GetChildCompanyName(CompanyID).Select(a => new SelectListItem() { Text = a.Name, Value = a.ID.ToString(), Selected = a.ID == selectid }).ToList();

}
骑猪看海 2011-12-06
  • 打赏
  • 举报
回复
new SelectList(ViewBag.Datalist,"Value", "Text","30");
设下默认值,在后台做好在传前台好点
加载更多回复(9)
内容概要:本文围绕“基于虚拟同步发电机的多逆变器并联改进控制策略”展开,系统研究了微电网环境下多逆变器系统的协同运行与控制问题。重点内容包括虚拟同步发电机(VSG)技术在双机并联系统中的应用,实现有功与无功功率的精确分配(均分或按比例)、微电网黑启动控制、虚拟阻抗的引入以有效抑制环流,以及预同步并网控制策略的设计与实现。文中依托MATLAB/Simulink平台构建了详细的仿真模型,对所提出的各项控制策略进行了全面的仿真验证,确保系统在负载突变、并网/离网切换等动态工况下具备优异的稳定性、动态响应特性和功率均分精度。此外,文档还列举了大量相关的电力系统科研方向与可复现课题,如储能系统优化、无功补偿、配电网重构、智能优化算法应用等,充分体现了MATLAB/Simulink在现代电力电子与新能源并网技术科研中的核心支撑作用。; 适合人群:具备电力电子技术、自动控制原理及微电网基础知识,从事电气工程、新能源发电、智能电网等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入掌握虚拟同步发电机(VSG)在多逆变器并联系统中的功率分配、惯量支撑与一次调频调压机制;②学习并实践微电网黑启动、环流抑制、预同步控制等关键环节的仿真建模与控制算法设计;③借助文中丰富的科研案例与仿真资源,开展高水平学术论文的复现工作或进行创新性课题的研究与开发; 阅读建议:建议结合文中提及的Simulink仿真模型与网盘提供的完整资源,坚持理论学习与动手实践相结合,重点关注控制策略的设计思路、模块化搭建方法及仿真参数的整定过程,同时关注公众号“荔枝科研社”以获取持续的技术支持与资料更新。

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧