asp.net-mvc-3 – 提交后的mvc3复选框值
发布时间:2020-12-15 23:08:42 所属栏目:asp.Net 来源:网络整理
导读:我有一个包含2个字段的表单,一个下拉列表和一个复选框.我有一切正常工作但我不能出于某种原因获得复选框的值,如果它被选中这是我的代码.. [HttpPost] public ActionResult view(string pick) { switch (pick) { case "Deny": // capture checkbox value here
我有一个包含2个字段的表单,一个下拉列表和一个复选框.我有一切正常工作但我不能出于某种原因获得复选框的值,如果它被选中这是我的代码..
[HttpPost] public ActionResult view(string pick) { switch (pick) { case "Deny": // capture checkbox value here break; case "Accept": // capture checkbox value here break; } return View(); } 这是我的观点 @using (Html.BeginForm("view","grouprequest",FormMethod.Post,new {})) { @Html.DropDownList("pick",new SelectList(new List<Object>{ new{ Text ="Accept",Value= "Accept"},new{ Text ="Deny",Value= "Deny"}},"Value","Text"),new {}) <input type="submit" name="work" id="work" value="Update" style="font-size:16px" /> foreach (var item in Model) { <input type="checkbox" id="@item.grouprequestID" name="@item.grouprequestID" value="@item.grouprequestID" /> } } 基本上下拉列表有两个选项,即Accept和Deny我可以捕获用户通过控制器中的SWITCH-case选择哪一个现在如何捕获复选框的值?如果您注意到Checkboxes有一个名为@groupRequestID的变量,那么每个复选框都有不同的唯一值,如1,2,3等.任何帮助都将非常感谢!! 该模型 public class grouprequest { [Key] public int grouprequestID { get; set; } public int? profileID { get; set; } public int? registrationID { get; set; } public DateTime expires { get; set; } public int? Grouplink { get; set; } } 解决方法
发布到服务器时的复选框有点奇怪.
如果选中一个框,浏览器将发送name = value,如下所示 <input type="checkbox" name="name" value="value" /> 但是如果未选中该复选框,则服务器不会发送任何内容. <input type="checkbox" name="Check1" id="Checks1" value="Hello" checked="checked"/> <input type="checkbox" name="Check1" id="Checks1" value="Hello1" /> <input type="checkbox" name="Check1" id="Checks1" value="Hello2" /> 将导致Check1 = Hello 这意味着如果所有复选框都相关,那么命名它们将填充ActionMethod的相同属性.如果该属性是枚举,则它将仅包含已检查的属性. 如果您在视图中有这个: <input type="checkbox" name="MyValues" value="1" checked="checked"/> <input type="checkbox" name="MyValues" value="2" /> <input type="checkbox" name="MyValues" value="3" /> 这是你的控制器动作方法: public ActionMethod MyAction(IEumerable<int> myValues) myValues变量将如下所示: myValues[0] == 1 您还应该注意,如果您使用的是Html帮助扩展: @Html.CheckBoxFor(m => m.MyValue) 在MyValue是bool的情况下,扩展将创建一个复选框输入标记以及一个具有相同名称的隐藏输入标记,这意味着值将始终传递给控制器??方法. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- “协变”、“逆变”与Delegate类型转换
- asp.net – 如何在AJAX中显示状态描述?
- asp.net-mvc-3 – AZURE ACS – Windows Live ID – 如何获
- asp.net – 如何让Sitecore(和我的浏览器)使用Print布局?
- ASP.NET vNext如何处理config.json中的缓存,压缩和MimeMap?
- asp.net – SignalR:如何强制认证/终止中心连接服务器端
- asp.net-mvc – 在MVC中的业务规则
- asp.net – 错误BC30456:'[方法]’不是’ASP.[CodeBeh
- asp.net-core – 如何在MVC Visual Studio 2015中发布JSON数
- asp.net-mvc – MVC – 更改下拉列表中的默认文本
推荐文章
站长推荐
热点阅读