scriptmanager in der masterpage und updatepanel in usercontrol. Partielle postback nicht passiert
ich habe eine master-Seite mit folgenden scriptmanager-tag:
<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>
Meine aspx-Seite ist :
<%@ 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" %>
- und dies ist die Benutzer-Steuerung:
<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>
Ich habe versucht, die meisten von den Optionen, die google empfiehlt, aber ich bin nicht in der Lage, eine partielle postback. evry Zeit, die selectedindex-Eigenschaft geändert wird, es führt einen vollständigen postback ausgeführt. die drop-down-wie Sie sehen können ist in einem itemtemplate und wiederholt.
was denkst du, was ich falsch mache, dass Ihr nicht feuern postback nur das update-panel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Funktioniert dies, wenn Sie eine update-Panel, aber kein Skript-Manager:
Aber ich habe auch eine master-Seite. So Frage ich mich, ist es, weil der Master-Seite, die ich benötigen den Script Manager
Baute ich ein kleines test-Projekt, die imitiert Ihre Dateien ein wenig. Ich bin nicht mit einer DataList und ich sind umgezogen der Bereich, der aktualisiert werden muss in ein separates div (was bedeutet, dass, wenn Sie halten Sie die DataList, ich glaube nicht, dass deine Frage/Antwort wäre, das sich innerhalb der DataList, so, wie Sie es jetzt ist. So jetzt, die Probe, die ich gebaut, nur schnappt sich den text aus einem drop-down-Liste und updates literal in das UpdatePanel-mit der option, die der Benutzer ausgewählt hat.
Hier ist mein code:
MasterPage:
Standard-Seite (kein zusätzlicher code in der code-behind):
Benutzer-Steuerelement (Html):
User Control (Code-behind):
Sehe ich
<asp:UpdatePanel ID="id" runat="server" ChildrenAsTriggers="true" UpdateMode="always" >
in IhremUpdatePanel
definition, das muss seinUpdateMode="Conditional"
wenn Sie möchten, dass Ihre UpdatePanel zu arbeiten asynchron. Keine Ahnung, warum die ASP:NET Entwickler nicht einstellen, dass es Bedingt als Vorgabe in den ersten Platz (ich habe noch mal vergessen).Vielleicht ist das schon?