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);
    }

PartialDemo.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

@ビクター、今私は問題を抱えています。@Html.CheckBoxFor(x => x.ID)を使用しているため、チェックボックスに割り当てている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 に答える