我正在使用带有一些值和AutoPostBack = true
的组合框,页面不会刷新。
我也有selectedIndexChanged
个事件。
我设法获得selectedValue
,我想在TextBox
中显示。
在我做过的selectedIndexChanged
事件中:
textBox1.Text = selectedValue.ToString();
当我使用Google Chrome
检查此文本框元素时,我可以看到TextBox
中设置的值。
但在浏览器中,该值未显示,仍为空TextBox
。
你们有什么线索可能会发生这种情况吗?
谢谢!
答案 0 :(得分:-1)
如何填充ComboBox的项目?如果动态通过On-Load事件,请确保添加项的方法不在PostBack上运行。
答案 1 :(得分:-1)
这是您的工作代码伙伴。 别忘了ToString方法。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2.aspx.cs" Inherits="Test2" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
<asp:ComboBox ID="ComboBox1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ComboBox1_SelectedIndexChanged">
<asp:ListItem>Item1</asp:ListItem>
<asp:ListItem>Item2</asp:ListItem>
<asp:ListItem>Item3</asp:ListItem>
</asp:ComboBox>
<asp:TextBox runat="server" ID="textBox1"/>
</div>
</form>
</body>
</html>
和代码
public partial class Test2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = ComboBox1.SelectedValue.ToString();
}
}