C# 在MVC 4中选中复选框时过帐结果

C# 在MVC 4中选中复选框时过帐结果,c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我被要求更详细地回答这个问题 我是MVC新手,虽然我在.NET开发方面有很好的基础,但我希望能得到任何支持性的解释 场景 我有一个日历,当它被选中时,它会将信息发布到日历中。看起来是这样的: @foreach (var OfflineCalendar in Model.OfflineCalendars.Skip(1)) { <li data-name="@OfflineCalendar.Name" data-val="@OfflineCalendar.Id">@Html.Ac

我被要求更详细地回答这个问题

我是MVC新手,虽然我在.NET开发方面有很好的基础,但我希望能得到任何支持性的解释

场景

我有一个日历,当它被选中时,它会将信息发布到日历中。看起来是这样的:

@foreach (var OfflineCalendar in Model.OfflineCalendars.Skip(1))
{
    <li data-name="@OfflineCalendar.Name" data-val="@OfflineCalendar.Id">@Html.ActionLink(OfflineCalendar.Name, "Index", new { Id = OfflineCalendar.Id }, new { @class = "location" })</li>
 }
@foreach(模型中的var OfflineCalendar.OfflineCalendars.Skip(1))
{
  • @Html.ActionLink(OfflineCalendar.name,“Index”,新建{Id=OfflineCalendar.Id},新建{@class=“location”})
  • }
    日历只返回将某些数据传递给ContentResult方法的月份的数据

    我为存档数据添加了一个复选框

    <label>
        Archived
        @Html.CheckBox("checkedArchive")
    </label>
    
    
    存档
    @复选框(“checkedArchive”)
    
    我的任务

    我想添加一个存档按钮,用户可以在其中查看历史数据。如果选中此复选框,则会更改ContentResult数据方法中的某些参数

    困境

    在.NET中,我可以轻松地检查是否选中了复选框,并根据所选的日历触发事件。我正在努力做到MVC的水平

    我所要做的就是在选择日历位置时检查它是否被选中。如果是,则返回true或false布尔值。这将影响结果

    我不想使用Ajax。我只想检查在选择位置时是否选中复选框。就这些

    以下是我问的相关问题:


    谢谢你的阅读

    您需要在jquery中写入checkbox事件,并检查checkbox是否被选中发布表单并从服务器返回内容,否则不要发布表单

    像这样:

    视图:


    听起来您希望通过现有代码在服务器端执行所有这些操作,并且只希望访问复选框的值

    如果这是正确的,我将修改ViewModel以包含布尔值“IncludeChived”,然后将其添加到您的页面:

     @Html.CheckBoxFor(model => model.IncludeArchived)
    
    提交表单时,该值应包含在模型中


    或者,您可以检查服务器端的Request.Form[“checkedArchive”]并将其解析为布尔值。

    您可以通过javascriptI检查它。我只想检查它是否已被选中并将其传递给代码端。请确保您的复选框必须位于“Form”标记内。Salaam,我只想检查复选框是否被选中,而不是在选中时提交。您可以看到,如果if条件为true,则确认复选框为check,在checked的情况下,您可以做任何您想做的事情。您的操作是正确的。当我执行字符串checkedBox=Request.Form[“checkedArchive”];无论是否选中,它都返回null。有什么想法吗?我选择了第二种方法,因为我没有正确理解第一种方法。如果我没记错,您可以给复选框一个值=“1”。如果选中,则Request.Form[“checkedArchive”]将给出“1”,如果未选中,则将得到null。
    $('#checkedArchive').on('change',function(){
    
    
    if(this.checked)
    {
    
    $('#MyForm').submit();
    
    }
    
    
    });
    
     @Html.CheckBoxFor(model => model.IncludeArchived)