0

当我单击复选框时,我将显示一个视图

我试过这样,但不行,
我需要你的帮助来解决这个问题

楷模:

public class DisplayData
{
    public bool ID { get; set; }
    public DisplayData(bool ID)
    {
        this.ID = ID;
    }
 }

public class Element
{        
    public string Descripcion { get; set; }
}

家庭控制器:

     public ActionResult Index()
     {            
        DisplayData Display = new DisplayData(false);
        return View(Display);
     }

索引.cshtml:

@model AppTwitter.Models.DisplayData

<script src="@Url.Content("~/Scripts/myCheckbox.js")" type="text/javascript"></script>

@Html.CheckBoxFor(
 x => x.ID, 
 new {
    data_url = Url.Action("PartialDemo", "PartialDemo"), 
    id = "mycheckbox" 
  }

myCheckbox.js:

$(function () {
$('#mycheckbox').change(function () {
    var data = {};
    data[$(this).attr('name')] = $(this).is(':checked');

    $.ajax({
        url: $(this).data('url'),
        type: 'POST',
        data: data,
        success: function (result) {

        }
    });
});
});

PartialDemoController.cs

    public ActionResult PartialDemo()
    {                            
            var element = new Element();
            element.Descripcion = "Descripcion";
            return View(element);
    }

部分演示.cshtml:

 @model AppTwitter.Models.Element

   <div class="editor-label">
        @Html.LabelFor(model => model.Descripcion )
    </div>

    <div class="editor-field">
        @Html.EditorFor(model => model.Descripcion )

        @Html.ValidationMessageFor(model => model.Descripcion )
    </div>

谢谢,

4

1 回答 1

0

@Victor,现在我遇到了问题。您分配给复选框的 id 不起作用,因为您使用的是@Html.CheckBoxFor(x => x.ID)。在这种情况下,复选框的 ID 是动态生成的,因此“mycheckbox”不起作用。因此,而是分配一个 id 分配一个类,即

@Html.CheckBoxFor(
 x => x.ID, 
 new {
       data_url = Url.Action("PartialDemo", "PartialDemo"), 
       @class = "mycheckbox" 
     }
)

并在下面的javascript中使用:

$(function () {
    $('.mycheckbox').click(function () {
      // your existing stuff
   });
});

希望这能解决问题

于 2012-06-22T17:26:53.327 回答