假設:數據源控件GrdiView,無刷新UpdatePannel,友情提示UpdateProgress,分頁下拉框DropDownList
一般情況下:Gridview的分頁有linkbutton或者button,這樣要是想讓UpdateProgress提示,很簡單,先讓GridView隱藏,然後給它加個OnClientClick就搞定!
在DropDownList的onchange事件裡:
function selectChange() {
if ($("select option").is(":selected")) {
$("#btn11").click();
}
}
跳轉到:
<asp:DropDownList ID="ddlNeedPage" runat="server" AutoPostBack="true" onchange="return selectChange();"> </asp:DropDownList>
function clearData() {
//$("#<%=_gvGuest.ClientID %>").empty();
$("#_gvGuest").empty();
//$("#<%=lblMessage.ClientID %>").hide();
$("#lblMessage").hide();
}
<asp:LinkButton ID="lnkFirstPage" runat="server" <span style="color:#ff0000;">OnClientClick="return clearData();"</span> CommandName="Page" CommandArgument="First" Enabled="<%# ((GridView)Container.Parent.Parent).PageIndex != 0 %>">第一頁</asp:LinkButton>
但是DropDownList沒有OnClientClick事件,怎麼辦?
因為上面說了Button有Onclientclick我們可以想到借助Button來轉換一下!!!!
解決辦法:在頁面上放一個隱藏的button:
<asp:Button ID="btn11" runat="server" CssClass="btnPage"Style="display: none;" OnClick="btn11_Click" OnClientClick="return clearData2();"/>
然後再OnClientClick事件裡把下拉框的值賦給一個隱藏域
function clearData2() {
var hidDDL = $("#_gvGuest_ddlNeedPage").val();
$("#hidNeedPage").attr("value", hidDDL);
$("#_gvGuest").empty();
$("#lblMessage").hide();
}
然後在click事件裡將_gvGuest的PageIndex設置成隱藏域的value!
protected void btn11_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(hidNeedPage.Value))
{
_gvGuest.PageIndex = Convert.ToInt32(hidNeedPage.Value);
BindData();
}
}
基本思路就實現了,相信通過上面一步步的實現大家對DropDownList設置客戶端事件也有了大概了解,希望這篇文章真真正正的能夠幫助到大家。