And*_*rew 4 asp.net reload drop-down-menu
每次在Firefox中"重新加载"页面时,我如何重置我的asp:DropDownList元素(有a runat="server")索引为0(按下F5)?
如果您建议使用JavaScript,请注意
runat="server"具有JavaScript的元素如果这可以使用.aspx页面上的脚本完成,那么请解释.
将代码放在Page_Load事件中以执行此操作
protected void Page_Load(object sender, EventArgs e)
{
myDropDownList.SelectedIndex =0;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
在回复您的注释时,如果您已将上述逻辑放在if语句中以检查是否Page.IsPostback = false,那么所选索引在刷新时将不会设置回0(执行客户端回发).作为演示此示例的示例,这里是一个页面,其下拉列表设置为选择时自动回放
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>My Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddl" runat="server" AutoPostBack="true" >
</asp:DropDownList>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是背后的代码
public partial class _Default : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
//Apologies for Dairy Produce inspired list
ddl.Items.Add(new ListItem("Cheese"));
ddl.Items.Add(new ListItem("Yoghurt"));
ddl.Items.Add(new ListItem("Milk"));
ddl.Items.Add(new ListItem("Butter"));
}
protected void Page_Load(object sender, EventArgs e)
{
//Run the Page with this in first, then comment out
//the if statement to leave only ddl.SelectedIndex = 0;
if (!Page.IsPostBack)
{
ddl.SelectedIndex = 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如将要演示的那样,当页面最初运行时,刷新时,所选索引将保留在下拉列表中; if但是,当语句被注释掉时,刷新时,所选索引将设置为0(在本例中为Cheese).
| 归档时间: |
|
| 查看次数: |
44491 次 |
| 最近记录: |