1

問題に5日間費やしましたが、問題が見つかりません。 プロジェクトの送信データにK-MVCを使用しています。ここに簡単な例があります: 1) コントローラー

   public class TechnologyController : KnockoutController
{
     public ActionResult AddTechnology()
    {
        var model=new TechnologyViewModel();
        return View(model);
    }

    [HttpPost]
    public ActionResult AddTechnology(TechnologyViewModel viewModel)
    {
        if(ModelState.IsValid)
        {
            _serviceClient.AddTechnology(viewModel);
            viewModel.SavedSaccessfully = true;
        }
        return Json(viewModel);
    }
}

2) モデル

    public class TechnologyViewModel
{
    public int TechnologyId { get; set; }

    [Required]
    public string Name { get; set; }

    public bool IsActual { get; set; }

    public bool SavedSaccessfully { get; set; }
}

3) かみそり

    @using PerpetuumSoft.Knockout
@model Core.ViewDataModel.TechnologyViewModel

@{
    var ko = Html.CreateKnockoutContext();
    ViewBag.Title = "New technology";
}

@using (ko.If(m => m.SavedSaccessfully))
{
    @ko.Html.Span("NEW TECHNOLOGY SAVED TO DATABASE.")
}

@using (ko.If(m => m.SavedSaccessfully == false))
{
     using (ko.Html.Form("AddTechnology", "Technology", ko.Model))
     {
         <p>@Html.Label("Name: ") @ko.Html.TextBox(m => m.Name).ValueUpdate(KnockoutValueUpdateKind.AfterKeyDown) </p>
         <p>@Html.Label("Active : ")         @ko.Html.CheckBox(m => m.IsActual).ValueUpdate(KnockoutValueUpdateKind.Change) </p>
</p>
         <p>
            <input class="submitButton" type="submit" value="Create" />
         </p>
     }
}
@ko.Apply(Model)

正常に動作しています。次に、有効なモデルがコントローラーで受信されず、送信されません。しかし、モデルが返送しても何も起こりません。検証メッセージは表示されません。私は標準のMVCのように入れようとしました:

using (ko.Html.Form("AddTechnology", "Technology", ko.Model))
 {
     Html.EnableClientValidation();

     <p>@Html.Label("Name: ")            @ko.Html.TextBox(m => m.Name, new{name="Name"}).ValueUpdate(KnockoutValueUpdateKind.AfterKeyDown) @Html.ValidationMessageFor(m=>m.Name) </p>
     <p>@Html.Label("Active : ")         @ko.Html.CheckBox(m => m.IsActual).ValueUpdate(KnockoutValueUpdateKind.Change) </p>

     <p>
        <input class="submitButton" type="submit" value="Create" />
     </p>
 }

しかし、うまくいきません。助けてください!SOS!---...---...---... :)

4

0 に答える 0