Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Asp.net mvc 3 在ASP.NET MVC3中批准和拒绝_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 3 在ASP.NET MVC3中批准和拒绝

Asp.net mvc 3 在ASP.NET MVC3中批准和拒绝,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我知道这个问题并不难,但我是asp.net mvc3新手,不知道如何解决这个问题。我在控制器中创建了一个简单的CRUD函数。现在在我的编辑中,我将文本框更改为两个单选按钮“批准”和“拒绝”。现在我的问题是如何让我的编辑得到我选择的单选按钮的值?以下是“我的视图”>“编辑”中我的单选按钮的值 我的视图>编辑 <div class="editor-label"> @Html.LabelFor(model => model.Status) </div> <

我知道这个问题并不难,但我是asp.net mvc3新手,不知道如何解决这个问题。

我在控制器中创建了一个简单的CRUD函数。现在在我的编辑中,我将文本框更改为两个单选按钮“批准”和“拒绝”。现在我的问题是如何让我的编辑得到我选择的单选按钮的值?以下是“我的视图”>“编辑”中我的单选按钮的值

我的视图>编辑

<div class="editor-label">
    @Html.LabelFor(model => model.Status)
</div>
<div class="editor-field">
<input type="radio" name="action" value="Approve" />Approve
<input type="radio" name="action" value="Reject"/>Reject
</div>
这是我请假的模型

尝试使用帮助器:

而不是

<input type="radio" name="action" value="Approve" />Approve
<input type="radio" name="action" value="Reject"/>Reject

假设您对状态使用布尔值:

<label for="approve">
@Html.RadioButtonFor(x => x.Status, "True", new { id = "approve" })
Approve
</label>

<label for="reject">
@Html.RadioButtonFor(x => x.Status, "False", new { id = "reject" })
Reject
</label>

@RadioButton(x=>x.Status,“True”,新的{id=“approve”})
批准
@RadioButton(x=>x.Status,“False”,新的{id=“拒绝”})
拒绝
编辑:公开db对象是一种不好的做法,您应该使用具有db对象相关属性的视图模型,然后在保存/加载时可以在两者之间进行映射

也就是说,返回LeavesViewModel以查看,但在保存时将您的LeavesViewModel转换为db项目

在提供的示例中,这应该直接映射到传递到Post方法中的Leave对象,假设它是bool值。调试,您应该会看到值返回true或false,具体取决于您选择的选项

如果Status是一个包含两个以上(即bool)选项的枚举,那么它也可以工作,但我以前从未尝试过

因此,在编辑视图中,将单选按钮和表单的其他部分包装为:

@using (Html.BeginForm("Edit", "ControllerName")) {
   ..your stuff

   <input type="submit" value="Save" />
}
使用(Html.BeginForm(“编辑”、“控制器名称”)){ …你的东西 }
显示您的休假类别的外观状态类型是什么?首先我使用一个文本框,因此我将varchar指定为其类型。无论如何,该类型对我来说并不重要。感谢您的更正,但是我的控制器中的编辑如何?我怎么能让它知道我选择了哪个按钮。谢谢。谢谢你的更正,但是我的控制器的编辑怎么样?我怎么能让它知道我选择了哪个按钮。谢谢。您只需提交表单并在控制器操作上发布值。谢谢您的解释。我现在能够理解它了。:)我能让它工作。
@Html.RadioButtonFor(model => model.Status, "1") Approve
@Html.RadioButtonFor(model => model.Status, "0") Reject
<label for="approve">
@Html.RadioButtonFor(x => x.Status, "True", new { id = "approve" })
Approve
</label>

<label for="reject">
@Html.RadioButtonFor(x => x.Status, "False", new { id = "reject" })
Reject
</label>
@using (Html.BeginForm("Edit", "ControllerName")) {
   ..your stuff

   <input type="submit" value="Save" />
}