У меня есть форма для редактирования значений базы данных. Я регистрирую переменную json, используя ClientScriptManager.RegisterClientScriptBlock
при загрузке страницы, а затем использую ее, чтобы проверить изменения в форме и предложить пользователю сохранить. В событии нажатия кнопки «Сохранить» я повторно выполняю код, который регистрирует переменную json, чтобы она содержала изменения, которые пользователь только что сохранил.
Проблема, с которой я столкнулся, заключается в том, что переменная json не обновляется, чтобы отразить изменения в форме после обратной передачи. Обновление json может выполняться только после обновления страницы.
protected void Page_Load(object sender, EventArgs e)
{
Property p = Property.GetPropertyById(id);
PopulateForm(p);
CreateJson(p);
}
protected void btnSave_Click(object sender, EventArgs e)
{
Property p = Property.GetPropertyById(id);
p.Price = txtPrice.Text.Trim();
p.Save();
CreateJson(p);
}
private void CreateJson(Property p)
{
StringBuilder JSONtext = new StringBuilder();
JSONtext.Append("<script type='text/javascript'>");
JSONtext.Append("var property = ");
JSONtext.Append("{");
JSONtext.Append("\"price\":\"");
JSONtext.Append(p.Price.ToString());
JSONtext.Append("};");
JSONtext.Append("</script>");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "jsonVariable", JSONtext.ToString());
}
Возможно ли то, что я пытаюсь сделать?