我有几个文本框<input type="text">
以及一个下拉列表<asp:DropDownList>
我更喜欢使用这个asp控件,因为我想将它与数据绑定。事情是每次我做出选择时,文本框会因回发而重新初始化。
<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 :(得分: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.
}
}