从DropDownList获取SelectedValue

时间:2012-05-14 09:30:52

标签: c# .net umbraco ascx

我正在尝试创建一个基本宏,它封装了一个表单,并能够通过电子邮件发送输入的详细信息。它适用于Textboxes,但由于某种原因,DropDownLists获取选项列表中的第一个值。我已经在这个工作了好几个小时,似乎已经尝试了一切,所以希望有人能提出解决方案。我使用的是Umbraco 4.0.3,遗憾的是升级不是一种选择。我减少的代码如下:

CorpRefundForm.ascx:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CorpRefundForm.ascx.cs" Inherits="umbracowebsitewizard_site.Usercontrols.CorpRefundForm" %>

<asp:DropDownList ID="frm_dropdown" runat="server" CssClass="linkselect" />

<br />

<button id="submitButton" runat="server" onserverclick="submitButton_Click">Submit</button>

CorpRefundForm.ascx.cs

using System;
using System.Net.Mail;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace umbracowebsitewizard_site.Usercontrols
{
    public partial class CorpRefundForm : UserControl
    {
        protected void Page_Init(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                frm_dropdown.Items.Add(new ListItem("Select one", ""));
                frm_dropdown.Items.Add(new ListItem("One", "One"));
                frm_dropdown.Items.Add(new ListItem("Two", "Two"));
                frm_dropdown.Items.Add(new ListItem("Three", "Three"));
                frm_dropdown.Items.Add(new ListItem("Four", "Four"));
            }
        }

        public void submitButton_Click(object sender, EventArgs e)
        {
            SmtpClient mySMTPClient = new SmtpClient();

            mySMTPClient.Send("[email removed]", "[email removed]", "Test", frm_dropdown.SelectedValue + frm_dropdown.Text + frm_dropdown.SelectedItem.Value + frm_dropdown.SelectedItem.Text);
        }
    }
}

CorpRefundForm.ascx.designer.cs:

using System.Web.UI.WebControls;

namespace umbracowebsitewizard_site.Usercontrols
{
    public partial class CorpRefundForm
    {
        protected DropDownList frm_dropdown;
    }
}

2 个答案:

答案 0 :(得分:0)

由于您的第一个ListItem未分配Value,因此可能会发生这种情况。尝试分配一个值,看看它是否有效。

 frm_dropdown.Items.Add(new ListItem("Select one", "-1"));

答案 1 :(得分:0)

解决了!结果是jquery.linkselect-1.2.07.min.js库正在用DropDownList做一些破坏它的东西。采取这种做法并且有效。