gpt4 book ai didi

asp.net-mvc-3 - 提交后的mvc3复选框值

转载 作者:行者123 更新时间:2023-12-04 13:16:49 24 4
gpt4 key购买 nike

我有一个带有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" />


}
}

基本上,下拉列表有2个选项,即 接受拒绝我现在可以通过 Controller 中 SWITCH案例捕获用户选择的哪个选项,现在我如何捕获复选框的值?如果您注意到复选框具有一个名为 @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" />

这是您的 Controller 操作方法:
public ActionMethod MyAction(IEumerable<int> myValues)
myValues变量将如下所示:
myValues[0] == 1

您还应该注意,如果您使用Html helper扩展名:
@Html.CheckBoxFor(m => m.MyValue)

MyValuebool的情况下,扩展名将创建一个checkbox输入标签以及一个具有相同名称的hidden输入标签,这意味着将始终将值传递到controller方法中。

希望这可以帮助。

关于asp.net-mvc-3 - 提交后的mvc3复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com