default.aspx 页面有一个DropDownList
,只有当它不是postback
. 选择值时,调用Literal
具有所选值的方法填充a。它按预期工作。问题是当我将页面设置为仅在控件中不EnableViewState
启用它时。DropDownList
在这种情况下,当被退回时,DropDownList
它会丢失它的物品。我已经设置了一个新的 Web 项目来测试它。没有母版页可以使其更简单。
默认.aspx:
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication4._Default"
EnableViewState="false" %>
<asp:DropDownList ID="DDL" runat="server"
OnSelectedIndexChanged="DDL_OSIC"
AutoPostBack="true"
EnableViewState="true">
</asp:DropDownList>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
默认.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DDL.Items.Add("red");
DDL.Items.Add("green");
DDL.Items.Add("blue");
}
}
protected void DDL_OSIC(object sender, EventArgs e)
{
Literal1.Text = DDL.SelectedValue;
}
为什么 EnableViewState 不起作用?