Link 更新面板中的按钮不起作用
Link button inside update panel is not working
我在更新面板中有两个 link 按钮。如果我点击第一个 link 或第二个 link,那么第一次它可以工作,但第二次它没有响应。
这是我的 aspx 代码
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width: 80%;" runat="server" id="addAnounce">
<tr>
<td style="width: 50%; padding-left: 10px;"> <asp:Label runat="server" Text="Message Text" ID="Label8"></asp:Label>
</td>
<td style="width: 50%">
<table>
<tr>
<td style="width: 60%">
<asp:TextBox ID="txt_Message" runat="server" MaxLength="2000" Height="100px" TextMode="MultiLine" Wrap="true" Width="121%"></asp:TextBox>
</td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txt_Message" Display="Dynamic" ErrorMessage="Messgae Text is Mandatory." ValidationGroup="Reg" ForeColor="Red" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<td style="width: 40%"; align="right";>
<asp:LinkButton ID="LinkRiverBasin" runat="server" Text="River Basin" OnClick="LinkRiverBasin_Click"></asp:LinkButton><br /><br />
<asp:LinkButton ID="LinkState" runat="server" Text="State" OnClick="LinkState_Click"></asp:LinkButton><br />
</td>
</tr>
</table>
</table>
</ContentTemplate>
</asp:UpdatePanel>
CS 页面是:
protected void LinkRiverBasin_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "<River Basin>" + '\n';
}
protected void LinkState_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "<State>" + '\n';
}
这是CS代码中尖括号的问题,把后面的代码换成这个
protected void LinkRiverBasin_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "River Basin" + '\n';
}
protected void LinkState_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "State" + '\n';
}
因为你利用了"Potentially Dangerous Characters"
删除“<”和“>”字符,它将起作用。
关注这个http://tldp.org/HOWTO/Secure-Programs-HOWTO/cross-site-malicious-content.html
在 web.config 中添加以下代码行以允许此字符
<pages validateRequest="false" ></pages>
我在更新面板中有两个 link 按钮。如果我点击第一个 link 或第二个 link,那么第一次它可以工作,但第二次它没有响应。 这是我的 aspx 代码
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width: 80%;" runat="server" id="addAnounce">
<tr>
<td style="width: 50%; padding-left: 10px;"> <asp:Label runat="server" Text="Message Text" ID="Label8"></asp:Label>
</td>
<td style="width: 50%">
<table>
<tr>
<td style="width: 60%">
<asp:TextBox ID="txt_Message" runat="server" MaxLength="2000" Height="100px" TextMode="MultiLine" Wrap="true" Width="121%"></asp:TextBox>
</td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txt_Message" Display="Dynamic" ErrorMessage="Messgae Text is Mandatory." ValidationGroup="Reg" ForeColor="Red" SetFocusOnError="True">*</asp:RequiredFieldValidator>
<td style="width: 40%"; align="right";>
<asp:LinkButton ID="LinkRiverBasin" runat="server" Text="River Basin" OnClick="LinkRiverBasin_Click"></asp:LinkButton><br /><br />
<asp:LinkButton ID="LinkState" runat="server" Text="State" OnClick="LinkState_Click"></asp:LinkButton><br />
</td>
</tr>
</table>
</table>
</ContentTemplate>
</asp:UpdatePanel>
CS 页面是:
protected void LinkRiverBasin_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "<River Basin>" + '\n';
}
protected void LinkState_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "<State>" + '\n';
}
这是CS代码中尖括号的问题,把后面的代码换成这个
protected void LinkRiverBasin_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "River Basin" + '\n';
}
protected void LinkState_Click(object sender, EventArgs e)
{
txt_Message.Text = txt_Message.Text + '\n' + "State" + '\n';
}
因为你利用了"Potentially Dangerous Characters" 删除“<”和“>”字符,它将起作用。
关注这个http://tldp.org/HOWTO/Secure-Programs-HOWTO/cross-site-malicious-content.html
在 web.config 中添加以下代码行以允许此字符
<pages validateRequest="false" ></pages>