0

我正在尝试使用 ASP.NET 4.0 从 AjaxToolKit ComboBox 发布值。

这是我的代码:

WebForm1

HTML

<body>
    <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </ajaxToolkit:ToolkitScriptManager>
    <div>
        <ajaxToolkit:ComboBox ID="ComboBox1" runat="server">
        </ajaxToolkit:ComboBox>
        <asp:Button ID="Button1" runat="server" Text="Button" UseSubmitBehavior="true" PostBackUrl="~/WebForm2.aspx" />
    </div>
</body>

C#

protected void Page_Load(object sender, EventArgs e)
{
    for (int i = 0; i < 5; i++)
    {
        ListItem tmpListItem = new ListItem("Item " + i.ToString());
        tmpListItem.Value = "Item " + i.ToString();
        ComboBox1.Items.Add(tmpListItem);
    }
}

WebForm2

C#

protected void Page_Load(object sender, EventArgs e)
{
    HttpContext tmpHttpContext = HttpContext.Current;
    string cmboBoxValue = tmpHttpContext.Request["ComboBox1"];
}

我为 cmboBoxValue 得到的只是空值。

我很沮丧,因为我知道这一定很简单。我确信我过去已经完成了 100 次。

我看过这里

如何使用 C# 提交 http 表单

但这并没有帮助。它必须与 asp:Button 一起提交。

希望这些信息足以让您做出回应。

感谢您的时间。

4

2 回答 2

0

提供以下代码:

将此代码放在 default.aspx 页面上

<cc1:ComboBox ID="ComboBox1" runat="server" AutoCompleteMode="Suggest" AutoPostBack="True" DropDownStyle="Simple">
<asp:ListItem>India</asp:ListItem>
<asp:ListItem>Lanka</asp:ListItem>
<asp:ListItem>Pak</asp:ListItem>
<asp:ListItem>Aus</asp:ListItem>
<asp:ListItem>Aps</asp:ListItem>
</cc1:ComboBox>

将此代码放在button1单击事件上

protected void Button1_Click(object sender, EventArgs e)
    {        
         Label1.Text = "You selected" + ComboBox1.SelectedItem.Text;       
    }

您也可以查看下面的链接并在您的 CSS 页面上工作。(阅读已勾选的答案)

AjaxControlToolkit,组合框样式

于 2012-08-13T22:53:28.187 回答
0

在另一位成员的帮助下,我能够找到答案。在这里能找到它:

使用 NameValueCollection 在 ASP.NET 中获取 POST 值

于 2012-08-20T14:43:00.887 回答