Tag: 下拉菜单

dropdownlist DataTextField由属性组成?

有没有办法通过由对象的多个属性组成的c#在asp.net中创建下拉列表的datatextfield属性? public class MyObject { public int Id { get; set; } public string Name { get; set; } public string FunkyValue { get; set; } public int Zip { get; set; } } protected void Page_Load(object sender, EventArgs e) { List myList = getObjects(); ddList.DataSource = myList; ddList.DataValueField = “Id”; ddList.DataTextField = “Name”; ddList.DataBind(); […]

在WinForms中使用CheckBoxes的ComboBox

我正在尝试实现CheckBox ComboBox。 我关注此链接作为参考 http://www.codeproject.com/Articles/31105/A-ComboBox-with-a-CheckedListBox-as-a-Dropdown?msg=4152597#xx4152597xx 但是这个例子有一些问题。 1)显示下拉列表后,第一次单击鼠标以更改所选项目的检查状态始终无法执行此操作,但单击一次就可以了。 似乎吞下了第一次单击。 我做了一些跟踪工作但未能找到答案。 2)列表打开时表单失去焦点。

如何使用C#在Selenium WebDriver的下拉列表中获取所有选项?

我是C#和Selenium WebDriver的新手。 我知道如何在下拉列表中选择/单击某个选项,但在此之前我遇到了问题。 由于下拉列表是动态生成的,因此在运行每个案例之前,我必须从列表中获取所有选项/值。 有没有人告诉我如何从下拉列表中获取所有值/选项。 我正在使用IE,我没有找到任何支持在Selenium.IE名称空间中为C#获取值/选项的方法的类。 我的例子:列表包含几个时区: timezone.Alaska timezone.England timezone.Greece timezone.India 这是IE页面中的下拉列表以及如何获取动态生成的时区列表? 我的代码: IWebElement elem = driver.FindElement(By.XPath(“//select[@name=’time_zone’]”)); List options = elem.FindElements(By.TagName(“option”)); C#只是弹出一个错误:无法隐式将’OpenQA.Selenium.IWebElement’类型转换为’System.Collections.Generic.List’。 存在显式转换(您是否错过了演员?)。 谢谢。

如何在Selenium C#中使用PageFactory / FindsBy初始化SelectElements?

我正在使用PageFactory在Selenium WebDriver中为C#构建一个页面对象模型。 不幸的是,我发现FindsByAttribute不会初始化SelectElement (HTML 标签/下拉菜单)。 到目前为止,我已经碰巧或提出了一些想法来解决它,但它们都不是理想的: PageFactory和FindsByAttribute是sealed ,所以我不能通过inheritance它来强迫它。 在每个方法中从IWebElement手动实例化SelectElement是相当混乱和重复的。 它还忽略了PageFactory明显的内置等待并抛出NoSuchElementException除非我每次都添加一个等待 – 这需要在整个地方重复定位器,从而击败(部分)POM的目的。 使用SelectElement属性包装每个IWebElement属性不那么混乱,但仍然具有与上面相同的等待问题。 到目前为止,最好的选择是#3,并为SelectElement编写一个包装器,它只是为每个方法添加一个等待。 虽然这个解决方案可行 ,但它会大量增加每个页面的代码,而不是这个(假设的)漂亮的代码: [FindsBy(How = How.Id, Using = “MonthDropdown”)] public SelectElement MonthDropdown; 我坚持使用包装器包装(我宁愿避免使用),并且: [FindsBy(How = How.Id, Using = “MonthDropdown”)] private IWebElement _monthDropdown; public Selector MonthDropdown { get { return new Selector(MonthDropdown, Wait); } } 使用Selector作为SelectElement包装器,它还必须接收IWait以便它可以等待,并在每次访问时实例化一个新的Selector 。 有更好的方法吗? 编辑:瞌睡错误的访问修饰符。 固定。 谢谢,@ JimEvans。

System.Web.HttpException:不能在DropDownList中选择多个项目

在页面加载期间,已选择索引0。 然后这段代码语句选择索引1: dropDownList.Items.FindByValue(myValue).Selected = true; // assume myValue is found at index 1 of dropDownList.Items 页面加载完成后,页面显示:“System.Web.HttpException:DropDownList中不能选择多个项目。” 为什么我得到例外? 我该如何解决?

WebBrowser控件HTMLDocument自动选择选项下拉列表

我正在尝试使用WebBrowser控件在WinForm中自动化以从网站导航和提取报告信息。 您可以在文本框中输入值并调用按钮和链接的单击事件,但我还没有想出如何以自动方式选择选项下拉列表…. 根据这个html示例,任何人都建议如何从下拉列表中选择项目: Select Another TermSummer 2010Spring 2010Fall 2009 对于其他可以学习输入文本框值和调用点击事件的人来说,这是你如何做到的: webBrowser1.Document.GetElementById(“”).SetAttribute(“value”, “THE NAME”); 调用按钮或超链接单击: webBrowser1.Document.GetElementById(“”).InvokeMember(“click”); 所以我已经解决了输入值和调用点击的问题,但我还没有解决选择下拉值的问题。

选中后,在下拉菜单中禁用/删除值

只想问你们的帮助。 我在abc.aspx页面中有这个下拉菜单。 在那里,用户将选择月份并在提供的文本框中输入费用和价格。 它将保存在会话中: session[“month”]= dropdownlist1.selectedvalue; session[“expense1”] – textbox1.text; session[“price1”] – textbox2.text; server.transfer (“sdf.aspx”); 在下一页中,输入的数据将在标签中查看: Label1.Text = session [“month”].ToString(); Label2.Text = session [“expense1”].ToString(); Label3.Text = session [“price1″].ToString(); 好的,我的问题是,怎样才能使下拉菜单中的月份只能选择一次? 可以说,如果用户选择了二月,下次如果他登录,他就不能再选择这个节目了。 我用过这段代码: asp:DropDownList ID=”DropDownList2″ runat=”server” onchange=”if(this.value!=’Please choose’) this.disabled=’true’;” Font-Bold=”True”> Please choose January Febuary March 但问题是当我选择March时,在下一页它应该显示March不是吗? 但是,它显示’请选择’。 所以,我真的希望有人可以帮助我。 谢谢。

下拉清除

我有一个asp.net应用程序,其中有一个下拉列表绑定到数据集。 但是在选择一个项目后,下拉列表会清除所有值,我们如何解决此问题? 这是我在设计页面中的下拉列表: 和绑定代码如下所示。 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) BindProductDdl(); } private void BindProductDdl() { Products objProducts = new Products(); dsProducts dsProduct = new dsProducts(); ListItem olst = default(ListItem); olst = new ListItem(” Select”, “0”); dsProduct = objProducts.GetDataset(“”); ddlProduct.DataSource = dsProduct; ddlProduct.DataTextField = “Product”; ddlProduct.DataValueField = “Id”; ddlProduct.DataBind(); ddlProduct.Items.Insert(0, olst); } […]

如何基于DataTable填充下拉列表

我有以下代码填充ASP.net标签,其中包含从SP和CachedTable检索的值: public void UpdateDropDownList() { string strQuery = “”; using (SqlConnection scCon = new SqlConnection(connString)) { using (SqlCommand scCmd = new SqlCommand(“cation”, scCon)) { SqlDataAdapter sda = new SqlDataAdapter(); DataTable dt = new DataTable(); scCmd.CommandType = CommandType.StoredProcedure; scCmd.Parameters.Add(“@ation”, SqlDbType.VarChar).Value = cation.SelectedItem.Value; sda.SelectCommand = scCmd; sda.Fill(dt); var distinctValues = dt.AsEnumerable() .Select(row => row.Field(“Specialty”)) .Distinct(); Label1.Text = […]

下拉列表不与sqldatareader绑定

我的表格收集了大约五下拉。 我的查询如下。 string sql = “SELECT a.clientID ,a.[cname],b.bid,b.[bname],c.contactID, c.[name] FROM ” + ” dbo.[CLIENT] AS a INNER JOIN dbo.[BRANCH] AS b ” + “ON a.clientID = b.clientID JOIN dbo.[CONTACT] AS ” + ” c ON b.bid = c.bid ORDER BY a.clientID “; 然后我跟着将我的下拉单独绑定到各自的列,如下所示。 SqlCommand cmd = new SqlCommand(sql, connection); cmd.CommandType = CommandType.Text; SqlDataReader reader = […]