放在 ContentTemplate 内部的按钮点击后整个页面会提交
小灰狼 2010-04-30 07:13:46 看下面的 aspx 页面,如果把一个 tr 元素紧接着放到ContentTemplate后面,则里面的按钮点击后,会刷新整个页面
而如果把 <asp:UpdatePanel> 元素放到 td 元素里面,则不会刷新整个页面
这是怎么回事?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ValidGroup.aspx.cs" Inherits="ValidGroup" %>
<!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></title>
<script type="text/C#" runat="server">
protected void btnTest_Click(object sender, EventArgs e) {
txtMyName.Text = txt1.Text;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="sm1" runat="server">
</asp:ScriptManager>
<asp:Button ID="btn1" runat="server" Text="验证Name" ValidationGroup="Name" />
<asp:Button ID="btn2" runat="server" Text="验证Work" />
<table width="400px" border="1">
<tr>
<td>姓名</td>
<td>
<asp:TextBox ID="txt1" runat="server" Text="AAA" />
<asp:RequiredFieldValidator ID="rfvTxt1" runat="server"
ControlToValidate="txt1" Display="Dynamic" Text="姓名不能为空" ValidationGroup="Name" />
</td>
</tr>
<tr>
<td>地址</td>
<td>
<asp:TextBox ID="txt2" runat="server" Text="BBB" />
<asp:RequiredFieldValidator ID="rfvTxt2" runat="server"
ControlToValidate="txt2" Display="Dynamic" Text="地址不能为空" ValidationGroup="Name" />
</td>
</tr>
<tr>
<td>工作</td>
<td>
<asp:TextBox ID="txt3" runat="server" Text="CCC" />
<asp:RequiredFieldValidator ID="rfvTxt3" runat="server"
ControlToValidate="txt3" Display="Dynamic" Text="工作单位不能为空" ValidationGroup="Name" />
</td>
</tr>
<asp:UpdatePanel ID="up1" runat="server">
<ContentTemplate>
<tr>
<td>我的姓名</td>
<td>
<asp:TextBox ID="txtMyName" runat="server" />
<asp:Button ID="btnTest" runat="server" Text="Test" onclick="btnTest_Click" />
</td>
</tr>
</ContentTemplate>
</asp:UpdatePanel>
</table>
<asp:Button ID="btnTest1" Text="AAAAA" runat="server" ValidationGroup="Name" />
</form>
</body>
</html>