у меня есть главной страницы со следующей ScriptManager тегом:scriptmanager в masterpage и updatepanel в usercontrol. Частичное постбэк не происходит
<asp:ScriptManager ID="scriptManger" EnablePartialRendering="true" runat="server" >
<Scripts>
<asp:ScriptReference Path="~/common/js/jquery-1.3.2.js" />
<asp:ScriptReference Path="~/common/js/validation.js" />
</Scripts>
</asp:ScriptManager>
Моя страница ASPX является:
<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/common/MasterPages/Login.master" CodeBehind="SecurityQuestionsEnroll.aspx.cs" Inherits="Login.SecurityQuestionsEnroll" %>
<%@ Register src="~/controls/Views/Login/SecurityQuestions.ascx" tagname="SecurityQuestions" tagprefix="uc1" %>
и это пользовательский элемент управления:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="always" >
<ContentTemplate>
<asp:DataList ID="dlSecurityQuestions" runat="server" AutoPostBack="true" OnSelectedIndexChanged ="dlSecurityQuestions_SelectedIndexChanged">
<ItemTemplate>
<div>
<asp:Label ID="lbl_question" AssociatedControlID="lst_question" runat="server"><%# DataBinder.Eval(Container.DataItem, "QuestionName")%></asp:Label>
<asp:DropDownList ID="lst_question" runat="server" AutoPostBack="true" >
<asp:ListItem Value="0">Select a Question...</asp:ListItem>
<asp:ListItem Value="1">Select a Question1..</asp:ListItem>
</asp:DropDownList>
</div>
<div>
<asp:Label ID="lbl_answer1" AssociatedControlID="txt_answer" runat="server">Answer *</asp:Label>
<asp:TextBox ID="txt_answer" runat="server" />
<div id="validate"></div>
</div>
</ItemTemplate>
</asp:DataList>
</ContentTemplate>
</asp:UpdatePanel>
I попробовали большинство вариантов, которые рекомендует Google, но я не могу сделать частичную обратную передачу. evry time selectedindex изменено, он выполняет полную обратную передачу страницы. выпадающий, как вы можете видеть, находится в itemtemplate и повторяется. Что, по-вашему, я делаю неправильно, чтобы его не обстреливали только после обновления панели обновления.
СПАСИБО, но вся проблема связана с источником данных, элементы в datalist не могут вызвать обратную передачу панели обновления – 2009-06-21 22:49:30
Можете ли вы пояснить немного больше о что вы пытаетесь выполнить с помощью списка данных, используя его таким образом (например, что вы ожидаете в списке данных)? Я поиграю с ним немного больше, но поскольку у меня нет доступа к вашему проекту, я только предполагаю, что происходит за кулисами в вашем коде за файлом. Было бы полезно увидеть ваш обработчик OnSelectedIndexChanged, по крайней мере. – nkirkes
Элементы в списке дублируются в соответствии с свойством NumberOfQuestion int. Так что если число вопросов равно 2, 2 itemtemplate покажет, если 4 ... затем 4 ... и так далее. Различные страницы используют этот элемент управления, но одновременно отображаются разные списки выпадающих списков. – 2009-06-22 19:57:30