我要用 dropdownlist 可是 selectedvalue一直是空,我该怎么办?????
而且这个页面是 套用 母板页的

解决方案 »

  1.   

    <%@ Page Language="C#" EnableViewState="true" %>
      

  2.   

    页面
    <%@ Page Language="C#" AutoEventWireup="true" EnableViewState="false"  CodeFile="Default.aspx.cs" Inherits="UI_Default" %>
      

  3.   

    辛苦楼上的2 位了 我去msdn问过了  不行的
    weboconfig的优先级 最高只能用非服务器控件了
      

  4.   

    我错了,楼上的答案是可以的 不过分很多种情况:
    情况1:
      <select id="sltDebt" runat="server" class="bor sel font14">
                                    <option value="-1">请选择</option>
                                    <option value="100">小于50%</option>
                                    <option value="90">50%~60%</option>
                                    <option value="50">60%~75%</option>
                                    <option value="5">75%~90%</option>
                                    <option value="0">90%以上</option>
                                </select>
    像这样的服务器控件  无论viewstate是否禁用 都可以用;
    情况2:
    <asp:DropDownList ID="ddl" runat="server" > 
            </asp:DropDownList>
       if(!IsPostBack)
            { 
                ListItem li1= new ListItem("aaaaa","11111");
                ListItem li2 = new ListItem("bbbbb", "22222");
                ListItem li3 = new ListItem("ccccc", "33333"); 
                ddl.Items.Add(li1);
                ddl.Items.Add(li2);
                ddl.Items.Add(li3); 
            }
    像这样的情况 viewstate禁用后 就不可以用了;
    解决办法:
     情况1:如果没有套用母板页,那么直接 <%@ Page Language="C#" EnableViewState="true" %>
    情况2: 如果套用了母板页,要这样解决:
           方法1:直接在母板页头部 加上 EnableViewState="true"
           方法2:在当前页面的cs页面添加 pageinit事件:
      protected void Page_Init(object sender, EventArgs e)
        {
            Page.Master.EnableViewState = true; 
        }
        protected void Page_Load(object sender, EventArgs e)
        { 
         }
    一般推荐用第二种方法。