У меня есть «устаревший» сайт ASP.NET, который я хотел бы немного улучшить. Одна область, в которой я хотел бы кое-что сделать, - это обновление страницы - сейчас это всегда полные обновления страницы, но я бы хотел начать использовать частичные обновления.
Я надеялся, что смогу использовать для этого ASP.NET UpdatePanel
, но я немного застрял в том, как заставить это работать на меня.
У меня есть главная страница, которая определяет несколько заполнителей контента - упрощенно это выглядит так:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Default.master.cs" Inherits="WebForms_Default" %>
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>MyTitle</title>
</head>
<body>
<form id="myForm" runat="server">
<asp:ScriptManager ID="smgrMaster" runat="server" LoadScriptsBeforeUI="true">
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery-1.4.2.min.js" />
</Scripts>
</asp:ScriptManager>
<asp:ContentPlaceHolder runat="server" ID="cphSearch" />
<asp:ContentPlaceHolder runat="server" ID="cphContent" />
</form>
</body>
</html>
На моей странице содержимого моя сетка показывает данные внутри области cphContent
, а в моей области cphSearch
есть несколько элементов управления вводом - a RadioButtonList
и два DropDowns
. Всякий раз, когда что-то в этих элементах управления изменяется, на данный момент выдается постбэк (у них установлен AutoPostback="true"
).
Моя проблема: как мне сказать моему UpdatePanel
(который я пытаюсь обернуть вокруг своей сетки в области cphContent
) "прослушивать" обратные передачи от этих трех элементов управления из cphSearch
?
<asp:UpdatePanel>
<ContentTemplate>
<asp:GridView>
// grid view defined here
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID=".. what values to put here?? .." />
<asp:PostBackTrigger ControlID=".. - what values to put here?? .." />
</Triggers>
Когда я добавляю свой <asp:UpdatePanel>
, я получаю раздел <Triggers>
, но эти элементы управления в области содержимого cphSearch
не видны, так что я не могу добавить их в качестве триггеров обновления, верно?
Либо я совершенно не понимаю (абсолютно возможно!), Либо я упускаю очевидный шаг / трюк, чтобы заставить это работать - или это просто невозможно. Дайте мне знать!