ASP.NET Update-Panel mit CheckBox - Funktioniert Nicht Richtig
Arbeite ich an ein einfaches demo-Projekt, so dass ich kann lernen, einige Dinge über ASP.NET's AJAX-Funktionen. Mein problem ist, dass ich kann nicht scheinen, um ein UpdatePanel, um richtig zu arbeiten mit einem Häkchen im inneren. Hier ist das markup-ich bin mit meiner .aspx-Datei:
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="UpdatePanel.aspx.cs" Inherits="Testing.UpdatePanel" %>
<!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>
<title></title>
<style type="text/css">
td
{
font-family:Arial;
font-size:10pt;
}
#mainTable
{
background-color:#e3f3ff;
border:3px;
border-color:#000000;
border-style:solid;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<center>
<table id="mainTable">
<tr><td> </td></tr>
<asp:ScriptManager ID="SM1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<tr>
<td><asp:CheckBox ID="chkPaypal" runat="server" Text="Paypal" OnCheckedChanged="PayPal_CheckedChanged" AutoPostBack="true" /></td>
</tr>
<asp:Panel ID="pnlPayPal" runat="server" Visible="false">
<tr>
<td> <asp:Label runat="server" ID="lblPaypalEmail" Text="Email:" /></td>
<td><asp:TextBox runat="server" ID="tbPaypalEmail" Text="" Width="250px" /></td>
</tr>
<tr><td> </td></tr>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:ASyncPostBackTrigger ControlID="chkPayPal" />
</Triggers>
</asp:UpdatePanel>
<tr><td> </td></tr>
<tr>
<td colspan="2">
<center>
<asp:Button ID="btnRegister" runat="server" onclick="btnRegister_Click"
Text="Register" Height="30px" Width="80px" />
</center>
</td>
</tr>
<tr><td> </td></tr>
</table>
</center>
</div>
</form>
</body>
</html>
In meinem code habe ich:
using System;
namespace Testing
{
public partial class UpdatePanel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnRegister_Click(object sender, EventArgs e)
{
}
protected void PayPal_CheckedChanged(object sender, EventArgs e)
{
pnlPayPal.Visible = chkPaypal.Checked;
}
}
}
Anstatt dem panel sichtbar, wie ich vorwegnehmen, es ist das hinzufügen eines weiteren "PayPal" Kontrollkästchen am oberen Rand der Seite. Irgendwelche Ideen?
Es gibt nicht etwas falsch mit Ihrem code - ist das alles, was der code da ist?
Dort habe ich den vollständigen code für diese Seite.
Dort habe ich den vollständigen code für diese Seite.
InformationsquelleAutor Russell Patterson | 2010-04-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, was ich sehen kann, ist Sie nicht brauchen, die
Triggers
setup zu prüfen, IhreCheckBox
da dieCheckBox
ist in derUpdatePanel
. Sie brauchen nur zu verwendenTriggers
wenn Sie möchten, dass dieUpdatePanel
zu aktualisieren, basierend auf etwas, das außerhalb von ihm.Habe ich den code wie er ist, und es getestet und kann nicht reproduzieren Sie Ihr problem, so muss es sein, mehr Los. Können Sie liefern mehr code? Vielleicht einfach von oben, wo die Tabelle definiert?
EDIT: ich denke das problem ist dein
Panel
definiert ist, in einemtable
die rendering eindiv
zwischen Ihretr
- tags. Sie durfte nicht, weil Ihr einige wackey-Tabellen. Ändern Sie Ihren code ein:InformationsquelleAutor Kelsey