每次在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; }
编辑:
在回复您的注释时,如果您已将上述逻辑放在if语句中以检查是否Page.IsPostback = false
,那么所选索引在刷新时将不会设置回0(执行客户端回发).作为演示此示例的示例,这里是一个页面,其下拉列表设置为选择时自动回放
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>My Example
这是背后的代码
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; } } }
正如将要演示的那样,当页面最初运行时,刷新时,所选索引将保留在下拉列表中; if
但是,当语句被注释掉时,刷新时,所选索引将设置为0(在本例中为Cheese).