下拉列表和gridview位于同一页面上。
下拉列表代码: -
<asp:DropDownList OnSelectedIndexChanged="drplist_SelectedIndexChanged"
AutoPostBack="true" ViewStateMode="Disabled" AppendDataBoundItems="true"
ID="drplist" runat="server" DataSourceID="datasource1"
DataTextField="User_ID" DataValueField="User_ID">
<asp:ListItem Value="" Text="Make a selection"/>
</asp:DropDownList>
gridview代码: -
<asp:GridView ID="gview" runat="server" Width="100%" AutoGenerateColumns="false" DataKeyNames="User_ID" DataSourceID="datasource">
<Columns>
<asp:BoundField DataField="User_ID" HeaderText="User ID" />
<asp:BoundField DataField="User_Name" HeaderText="User Name" />
<asp:BoundField DataField="User_Email" HeaderText="User e-mail" />
<asp:BoundField DataField="User_Mob" HeaderText="User mobile number" />
<asp:BoundField DataField="User_Created" HeaderText="Created Date" />
<asp:CommandField ShowDeleteButton="true" ShowEditButton="true" />
</Columns>
</asp:GridView>
下拉列表中包含来自数据库的用户ID,当从下拉列表中进行选择时,它会触发selectedIndexChanged事件,相同的代码: -
protected void drplist_SelectedIndexChanged(object sender, EventArgs e)
{
var index = drplist.SelectedValue;
drplist.SelectedIndex = 0;
Response.Redirect("~/Demo/TableDemo.aspx?User_ID="+index);
}
现在,当我点击浏览器的后退按钮时,下拉列表仍然保留其选定的值我不想要,我希望它重置为索引0.当我返回到从 TableDemo.aspx 页面下拉列表,然后点击gridview中的编辑按钮或删除按钮,再次触发下拉列表的回发,将我带到 TableDemo.aspx 页面。只有手动页面刷新可以直接设置。我尝试搜索并实现JS代码,以便在按下浏览器后退按钮时强制页面刷新,但它没有解决我的问题并创建了更多。我尝试使用更新面板让我感到沮丧,而且碰巧在这里没有解决我的问题。对于这篇长篇文章感到抱歉,我在写这篇文章时做得不够好。
答案 0 :(得分:0)
您的页面可能已缓存,这就是您单击后退按钮时不会按照您希望的方式运行的原因。尝试将此代码添加到您不希望被篡改的页面上的page_load。
Response.Cache.SetCacheability(HttpCacheability.NoCache);
希望这有帮助!