我正试图变得光滑,我将这个用户控件放在一个覆盖整个页面的div中。 但是当我点击搜索按钮时,我得到一个完整的回发。 关于如何让它不回发并只更新gridview的任何想法?
只是要清楚。以下控件位于ascx文件中。这是在aspx页面中调用的。
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="PropertyViewAddEntity.ascx.cs"
Inherits="UserControls_PropertyViewAddEntity" %>
<p>Search for State City County zip</p>
<asp:Panel ID="Panel1" runat="server" DefaultButton="Button2ae">
<p>
<asp:TextBox ID="TextBox1ae" runat="server" Width="500px"></asp:TextBox>
<asp:Button ID="Button2ae" runat="server" Text="Search" CausesValidation="false" />
</p>
</asp:Panel>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GridView2ae" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3ae"
OnSelectedIndexChanged="GridView2ae_SelectedIndexChanged">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="zipcodeid" HeaderText="zipcodeid" SortExpression="zipcodeid" />
<asp:BoundField DataField="zip_code" HeaderText="zip_code" SortExpression="zip_code" />
<asp:BoundField DataField="state" HeaderText="state" SortExpression="state" />
<asp:BoundField DataField="city_alias_name" HeaderText="city_alias_name" SortExpression="city_alias_name" />
<asp:BoundField DataField="county_name" HeaderText="county_name" SortExpression="county_name" />
</Columns>
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button2ae" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
btw控件位于占位符
<asp:PlaceHolder ID="ControlContainer" runat="server"/>
并从后面的代码中调用。
Control mycontrol = LoadControl("~/UserControls/PropertyViewAddEntity.ascx");
ControlContainer.Controls.Add(mycontrol);
答案 0 :(得分:3)
我终于找到了问题。
为了使事情正常工作,通过代码隐藏添加用户控件将无效!
为了使事情正常工作,您必须在页面上声明usercontrol,以便您可以访问usercontrol的UpdateMode =“Conditional”属性。
<%@ Register TagPrefix="my" TagName="AddEntity" Src="~/UserControls/PropertyViewAddEntity.ascx" %>
<my:AddEntity Visible="false" ID="test1" runat="server" ClientIDMode="Inherit" UpdateMode="Conditional" />
我将控件的Visible属性设置为false,以便我可以通过按钮单击显示它。
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
在我背后的代码中我做到了。
protected void Button1_Click(object sender, EventArgs e)
{
test1.Visible = true;
}
设置更新模式后。一切都按预期工作。