[英]Getting SelectedValue from a DropDownList
我正在尝试创建一个基本的宏,该宏封装一个表单以及通过电子邮件发送输入到其中的详细信息的功能。 它对于文本框效果很好,但是由于某些原因,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;
}
}
这可能是因为您的第一个ListItem
没有分配Value
。 尝试分配一个值,然后查看它是否有效。
frm_dropdown.Items.Add(new ListItem("Select one", "-1"));
解决了! 原来jquery.linkselect-1.2.07.min.js库正在使用DropDownList破坏它的方法。 拿出来,它的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.