C# dropdownlist SelectedIndexChanged事件更改其他文本框的值

C# dropdownlist SelectedIndexChanged事件更改其他文本框的值,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我有两个dropdownlists和两个txtbox,它们有一个日历弹出扩展程序,每当我选择一个与第一个项目不同的项目时,此代码应将texbox填充到当前日期,我的dropdownlists选择了一个austoposbabk属性,并且位于更新面板内,当我选择和项时,它会将两个文本框重置为SelectedIndexChanged上的文本框 例如,我只需要将默认日期设置为dropdownlist selectedIndexChanged中的标签 txtScanner\u选择的索引已更改 将仅将txt

我有两个dropdownlists和两个txtbox,它们有一个日历弹出扩展程序,每当我选择一个与第一个项目不同的项目时,此代码应将texbox填充到当前日期,我的dropdownlists选择了一个austoposbabk属性,并且位于更新面板内,当我选择和项时,它会将两个文本框重置为SelectedIndexChanged上的文本框

例如,我只需要将默认日期设置为dropdownlist selectedIndexChanged中的标签

txtScanner\u选择的索引已更改

将仅将txtscanDate字段设置为当前日期、、,,, 并在两个屏幕的文本框中设置日期

谢谢你的帮助。对不起,我的英语不是很好

<asp:DropDownList ID="txtPreppin" runat="server" CssClass="padding-input" 
 AutoPostBack="True" onselectedindexchanged="txtPreppin_SelectedIndexChanged">
  <asp:ListItem Text="-Select-" Value=''>-Select-</asp:ListItem>
  <asp:ListItem>Acevedo, Noe</asp:ListItem>
</asp:DropDownList>
<br />
<label for="recordtype">Date:</label>
<asp:TextBox ID="txtprepDate" runat="server" Enabled="False" ReadOnly="True"></asp:TextBox>
 <asp:CalendarExtender ID="txtprepDate_CalendarExtender" runat="server"
  Enabled="True" TargetControlID="txtprepDate" Format="MM/dd/yyyy">
</asp:CalendarExtender>                 

</td>
<td style="width: 306px">
<label for="recordtype">Scanner:</label>
<asp:DropDownList ID="txtScanner" runat="server" CssClass="padding-input" 
  AutoPostBack="True" onselectedindexchanged="txtScanner_SelectedIndexChanged">
 <asp:ListItem Text="-Select-" Value=''>-Select-</asp:ListItem>
 <asp:ListItem>Bueno, Nancy</asp:ListItem>
 </asp:DropDownList>

 <label for="recordtype">Date:</label>
 <br />
 <asp:TextBox ID="txtScanDate" runat="server" Enabled="False" ReadOnly="True"></asp:TextBox>
 <asp:CalendarExtender ID="txtScanDate_CalendarExtender" runat="server"
  Enabled="True" TargetControlID="txtScanDate" Format="MM/dd/yyyy">
 </asp:CalendarExtender>

-挑选-
阿塞维多,不

日期: 扫描仪: -挑选- 南希,布埃诺 日期:

受保护的void txtcscanner\u SelectedIndexChanged(对象发送方,事件参数e)
{
如果(第IsPostBack页)
{
如果(txtScanner.SelectedItem.Text!=null)
{
txtScanDate.Enabled=true;
txtScanDate.ReadOnly=false;
txtScanDate.Text=DateTime.Today.ToString(“MM/dd/yyy”);
}
其他的
{
txtScanDate.Enabled=false;
txtScanDate.ReadOnly=true;
}
}
}

受保护的void txtPreppin\u SelectedIndexChanged(对象发送方,事件参数e) { 如果(第IsPostBack页) { 如果(txtPreppin.SelectedItem.Text!=null) { txtprepDate.Enabled=true; txtprepDate.ReadOnly=false; txtprepDate.Text=DateTime.Today.ToString(“MM/dd/yyy”); } 其他的 { txtprepDate.Enabled=false; txtprepDate.ReadOnly=true; } } }

我发现了我的问题,我在母版页上启用了ViewState=false,我很难找到它,因为我继承的页面没有显示它已禁用,但是这导致了文本框在回发时丢失值的问题。谢谢

在每个TXT扫描仪\u SelectedIndexChanged和TXTPrippin\u SelectedIndexChanged中放置一个断点,以查看它们是否都在选择一个dropdownlist项时执行。我发现了问题,在母版页上启用了ViewState=false,这导致文本框失去状态的问题。

protected void txtScanner_SelectedIndexChanged(object sender, EventArgs e)
{
 if (Page.IsPostBack)
 {
  if (txtScanner.SelectedItem.Text != null)
  {
    txtScanDate.Enabled = true;
    txtScanDate.ReadOnly = false;
    txtScanDate.Text = DateTime.Today.ToString("MM/dd/yyy");
  }
  else
  {
    txtScanDate.Enabled = false;
    txtScanDate.ReadOnly = true;
  }
 }
}

protected void txtPreppin_SelectedIndexChanged(object sender, EventArgs e) { if (Page.IsPostBack) { if (txtPreppin.SelectedItem.Text != null) { txtprepDate.Enabled = true; txtprepDate.ReadOnly = false; txtprepDate.Text = DateTime.Today.ToString("MM/dd/yyy"); } else { txtprepDate.Enabled = false; txtprepDate.ReadOnly = true; } } }