AJAXを初めて使用しましたが、非常に簡単な例がありますが問題があります。最初の呼び出しでは、データがビューで複製され、後続の呼び出しで正しく機能します。私は間違って何をしていますか?ASP .NET MVC AJAXの代わりにビューを挿入する代わりに、初めてデータを置き換えます。
<script src="~/Scripts/jquery-3.1.0.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
まず時間を、初期ビュー:
第二に、時間、初めてボタンをクリック
〜/ビュー/共有/ _Layout.cshtmlファイルには、すべてのスクリプトがnecesaryを持っていました交換番号の代わりに番号を挿入します。
3回目、二回目のボタンのクリックが正常に動作しますが、2番目の行番号に...ので、上:
namespace MQWebSt.Models
{
public class AjaxTest
{
public int Number { get; set; }
}
}
コントローラー:
using System.Web;
using System.Web.Mvc;
using MQWebSt.Models;
namespace MQWebSt.Controllers
{
public class AjaxTestController : Controller
{
// GET: AjaxTest
public ActionResult Vista()
{
AjaxTest at = new AjaxTest { Number = 1 };
return View(at);
}
[HttpPost]
public ActionResult Vista(AjaxTest model)
{
Random rnd = new Random();
model.Number = rnd.Next(1, 100);
return PartialView("AjaxTestPartial", model);
}
}
}
閲覧Vista.chtml:
@model MQWebSt.Models.AjaxTest
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Ajax.BeginForm("Vista", new AjaxOptions { UpdateTargetId = "divEmp", InsertionMode = InsertionMode.Replace }))
{
<button class="btn btn-primary btn-md glyphicon glyphicon-menu-right" name="Contestar" type="submit" value="+1"></button>
<div class="panel panel-footer">
<table id="divEmp">
@Model.Number.ToString()
</table>
</div>
}
AjaxTestPartial.chtml:
@model MQWebSt.Models.AjaxTest
@Model.Number.ToString()
ありがとうございました...これが問題を解決します。 –
あなたは大歓迎です。お役に立てて嬉しいです ;) – Shyju