код положить в Page_Load событие, чтобы сделать это
protected void Page_Load(object sender, EventArgs e)
{
myDropDownList.SelectedIndex =0;
}
EDIT:
В ответ на ваши комментарии, если вы поставили выше логику внутри, если заявление, чтобы проверить, является ли Page.IsPostback = false
, то при обновлении выбранный индекс не будет возвращен к 0 (который выполняет обратную передачу клиента). В качестве примера, чтобы показать это, вот страница с выпадающим списком, установленным в AutoPostBack при выборе
<%@ 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>
Вот код за
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 (который в этом случае равен Сыр).
Это первое, что я пробовал. Это не сработает ... DropdownList, похоже, сбрасывается в предыдущий выбор кешем. Не то, чтобы это должно было иметь значение, но я поставил эту команду в его «If Page.IsPostBack = False» заявление – Andrew
также .. Предположим, вы имеете в виду из кода позади? – Andrew
Он может быть либо в файле с кодом (предпочтительный подход), либо в тегах сценария в разметке aspx (аналогично классическому ASP). Вероятным источником предыдущего индекса будет Viewstate, но он устанавливается в Pre_Load и будет переопределен вышеуказанным оператором. –