我正在尝试创建一个基本宏,它封装了一个表单,并能够通过电子邮件发送输入的详细信息。它适用于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;
}
}
答案 0 :(得分:0)
由于您的第一个ListItem
未分配Value
,因此可能会发生这种情况。尝试分配一个值,看看它是否有效。
frm_dropdown.Items.Add(new ListItem("Select one", "-1"));
答案 1 :(得分:0)
解决了!结果是jquery.linkselect-1.2.07.min.js库正在用DropDownList做一些破坏它的东西。采取这种做法并且有效。