【问题标题】:ASPX Postback selectedIndexChangedASPX 回发 selectedIndexChanged
【发布时间】:2014-06-04 18:07:26
【问题描述】:

我正在使用带有一些值和AutoPostBack = true 的组合框,页面不会刷新。

我也有一个selectedIndexChanged 活动。

我设法获得了selectedValue,我想在TextBox 中展示它。

selectedIndexChanged 事件中我做了:

textBox1.Text = selectedValue.ToString();

当我使用 Google Chrome 检查此文本框元素时,我可以看到该值是在 TextBox 中设置的。

但在浏览器中没有显示该值,仍然是一个空的TextBox

你们知道为什么会发生这种情况吗?

谢谢!

【问题讨论】:

  • TextBox 是否可见,只是看不到其中的新文本?
  • @mason 是的,TextBox 当然是可见的,我检查了元素并设置了值。
  • 你应该创建一个minimally verifiable and complete example,并发布代码。您可能正在做一些我们看不到的事情导致这种情况发生。
  • 能否提供完整的asp.net代码?

标签: c# asp.net combobox postback selectedindexchanged


【解决方案1】:

如何为 ComboBox 填充项目?如果通过 On-Load 事件动态,则确保添加项目的方法不会在 PostBack 上运行。

【讨论】:

  • 为什么会有帮助?并且数据没有通过onload绑定
  • Onload 仅通过 if(IsPostBack) 调用
  • @TheOddGuy - 这会有所帮助,因为如果 OnLoad 事件将项目加载到 ComboBox 中,它还会重置 SelectedIndex 和 SelecedValue 属性,并且您的 TextBox 将不会传递正确的值。
  • 不,它不会重置 selectedindex 和 selectedvalue。
【解决方案2】:

这是您的工作代码伙伴。 不要忘记 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();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多