Допустим, у меня есть связанное текстовое поле:
.cs html:
<div class="form-group"><textarea class="form-control" asp-for="Header" rows="3> </textarea>
</div>
<button type="button" id="printTestButton" asp-page-handler="PrintPreview" class="btn btn-primary"> button </button>
я не показываю вам код ajax .. так как это не проблема .
Код за .cs:
public class IndexModel : PageModel
{
[BindProperty]
public string Header { get; set; }
public void OnGet()
{
this.Header = "Foo";
}
public ActionResult OnGetTest()
{
console.log(this.Header);
return new JsonResult("Received " + header + " at " + DateTime.Now);
}
}
Итак, когда я вызываю веб-страницу, вызывается функция OnGet. Затем я устанавливаю свойство Header равным «Foo». Magi c происходит, я вижу в пользовательском интерфейсе, что текстовое поле содержит строку «Foo».
Теперь проблема: когда я нажимаю кнопку, а затем я вызываю с Ajax функцию OnGetTest (), свойство Header имеет значение null.
Почему заголовок пустой, если я просто установил его равным «Foo»? В пользовательском интерфейсе мы видим «Foo». Почему свойство привязки в данный момент не работает?