2016-07-20 35 views
2

我对C#和ASP.NET很陌生,并会感谢以下查询的建议和帮助。如何让Global.asax引用在aspx中声明的下拉列表?

  1. 我创建Global.asax和内Application_Start,我已经添加以下代码到bl​​ankCard字符串添加到该drpFirstHoleCard下拉列表。我使用的是Application_Start,因为我希望在用户打开页面时将下拉列表填充到第一个和唯一的实例中。

    string blankCard = ""; 
    drpFirstHoleCard.Items.Add(blankCard); 
    
  2. 此代码无效。我得到drpFirstHoleCard下一个红色的波浪线,说明

    名称“drpFirstHoleCard”在目前情况下

  3. drpFirstHoleCard下拉列表是在一个名为PokerCalc.aspx另一个页面中声明不存在。

  4. 如何让Global.asax能够引用drpFirstHoleCard(将字符串添加到下拉列表中)?

预先感谢您提供的任何帮助!下面

编辑回应Delosdos

  1. 我已经在我的等值page.aspx.cs创建的方法。

    空隙PopulateDropDownLists()
    {
    串blankCard = “”;
    drpFirstHoleCard.Items.Add(blankCard); }

  2. 我已经在protected void Page_Load(Object sender, EventArgs e)下加了这个方法。问题是,当用户选择下拉列表中的某些内容时,该方法将运行并且另一个项目将添加到下拉列表中。我只想让下拉列表在开始时填充一次。这就是为什么我开始阅读Application_Start

  3. 下拉列表的目的是更改文本框的文本。这就是为什么我将autopostback属性添加到下拉列表中。因此,用户在下拉列表中选择一个项目,服务器通过更改文本框的文本更新页面。

  4. 但是,当用户选择一个项目时,Page_Load会运行,并调用该方法将其他项目添加到下拉列表中。我想避免这部分发生。

希望我解释得很好。请问我是否有任何疑问。

+0

你肯定不想将Web控制添加到Global.asax文件 –

回答

0

不要为此使用Global.asax。您应该将此代码放在您使用的.aspx页面的代码后面。你可以做这样的事情

protected void Page_Load(object sender, EventArgs e) 
    { 
      if (!Page.IsPostBack) 
      { 
       string blankCard = ""; 
       drpFirstHoleCard.Items.Add(blankCard); 
      } 
    } 
+1

我完全按照你的建议完成了,但是我在if语句中调用了一个方法。此方法然后将这些项目添加到下拉列表中。 非常感谢您的帮助!我一直试图解决这个问题,我自己几个小时一直在房子周围! –

+0

很高兴我能帮忙! – Justin

0

Global.asax不是正确的做法。你应该在你正在处理的页面后面的代码中执行,例如page.aspx。cs

+0

感谢您的建议。贾斯汀和杰克马尔凯蒂也同意你的看法。 –

相关问题