您的位置:首页 > 其它

隐藏iframe实现无刷新的效果

2010-11-02 22:43 399 查看
有时候没办法要用到的微软的一些服务器端的控件,如gridview,这时候如果你想获取这个控件里面的值的话,又不想刷新整个页面,这时候隐藏的iframe就可以用上场了。

实现的原理很简单,就是在form里面将target="iframename" 赋值与隐藏的iframe的name相等,就可以调用服务器端控件直接在asp.cs页面里面的方法了,但是刷新的是隐藏的iframe,所以你看不到页面的刷新。

简单代码演示:

<iframe name="iframename" style="display:none;"></iframe>

<form runat="server" method="post" enctype="multipart/form-data" target="iframename" onsubmit="return save(this)">

<table >

<tr>

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" DataKeyNames="Fid,FMask" >

<Columns>

<asp:BoundField DataField="Group" HeaderText="模块" ReadOnly="True" >

<ItemStyle HorizontalAlign="Left" Width="200px" />

</asp:BoundField>

<asp:BoundField DataField="FName" HeaderText="功能列表" ReadOnly="True" >

<ItemStyle HorizontalAlign="Left" />

</asp:BoundField>

<asp:BoundField DataField="FObjectDetailDesc" HeaderText="操作" ReadOnly="True" >

<ItemStyle HorizontalAlign="Left" Width="150px" />

</asp:BoundField>

<asp:TemplateField meta:resourcekey="TemplateFieldResource1">

<HeaderTemplate>

<asp:Label ID="lbAuthorize" runat="server" Text="授权" ></asp:Label>

<asp:CheckBox ID="chkSelectAll" runat="server" />

</HeaderTemplate>

<ItemTemplate>

<asp:CheckBox ID="chkSelect" runat="server" Text=" " />

</ItemTemplate>

<ItemStyle Width="120px" />

<HeaderStyle Width="120px" />

</asp:TemplateField>

</Columns>

<RowStyle HorizontalAlign="Left" />

</asp:GridView>

</tr>

<tr> <asp:Button ID="btnSave" runat="server" OnClick="lbnSave_Click" /></tr>

</table>

</form>

asp.cs代码

protected void lbnSave_Click(object sender, EventArgs e)

{

foreach (GridViewRow row in GridView1.Rows)

{

cb = (CheckBox)row.FindControl("chkSelect");

//在这里就可以尽情地玩转那该死的gridview控件啦,但是在页面上却看不到刷新的效果的

//

}

}

这种方法同样适用于嵌入不完整的页面的局部刷新的适用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: