2013-05-18 36 views
0

我有幾個文本框<input type="text">以及一個下拉列表<asp:DropDownList> 我更喜歡使用這個asp控件,因爲我想將它與數據綁定。每次我做出選擇時,文本框都會重新初始化。下拉初始化輸入類型=「text」在回發上

<asp:DropDownList ID="drpPleaseSelect" runat="server" OnSelectedIndexChanged="drpPleaseSelect_SelectedIndexChanged" AutoPostBack="True" > 
        <asp:ListItem>[Please Select Yes Or No]</asp:ListItem> 
        <asp:ListItem>Yes</asp:ListItem> 
        <asp:ListItem>No</asp:ListItem> 
       </asp:DropDownList> 

<input type="text" runat="server" id="txtLastName" onkeyup="checkTextBoxes()" onfocus="checkTextBoxes()" /> 

protected void drpPleaseSelect_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var valueDropdown = drpPleaseSelect.SelectedValue.ToString(); 
    if (valueDropdown == "[Please Select Yes Or No]") 
    { 
     labChkDropDown.InnerHtml = "Please select yes Or no"; 
    } 
    else if (valueDropdown == "Yes" || valueDropdown == "No") 
    { 
     //bind a different asp:dropdownlist with database data 
    } 
} 

是否有不被回發的影響,因爲我做出改變的下拉列表中的索引我的HTML文本框的方法嗎?

+0

調用onselectedindex變化1.instead你可以調用一個JavaScript函數來爲你。 – Veer

回答

1

你說過每次你選擇文本框重新初始化時,你是將它們設置在PageLoad還是從PageLoad調用的函數?

如果是這樣,我認爲你缺少的支票的IsPostBack情況:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
    //Do stuff that you only want done on the inital page load. 
    //Like setting up inital values in textboxes, etc. 
    } 
}