【问题标题】:Using Items definition on public static void in c#在 C# 中的公共静态 void 上使用 Items 定义
【发布时间】:2020-02-20 13:18:20
【问题描述】:

我在public static void 上使用Items 时遇到问题。

当我尝试使用 for each 恢复时,无法识别 items 元素。

如何解决这个问题?

拜托,你能帮帮我吗?

下面是我的代码。

.aspx

  <asp:DropDownCheckBoxes ID="propo" runat="server"
        UseSelectAllNode="false"
        Enabled="true"
        CssClass="body"
        UseButtons="true">
        <Style SelectBoxWidth="400"
            DropDownBoxBoxWidth="400"
            DropDownBoxBoxHeight="500"
            SelectBoxCssClass="body"
            DropDownBoxCssClass="body" />
        <Texts SelectBoxCaption="[ ------- Select ------- ]" />
    </asp:DropDownCheckBoxes>

.cs

public class pnpropo
{
    public string propo { get; set; }
}

[WebMethod(EnableSession = true)]
[ScriptMethod]
public static void Savepnpro(pnpropo pro)
{
   string xpro = string.Empty;

   foreach (System.Web.UI.WebControls.ListItem item in pro.propo.Items) <<< line error
   {
      if (item.Selected)
      {
         xpro += item.Value + "; ";
      }
   }
}

【问题讨论】:

  • 类 pnpropo 的property propo 是字符串类型。因此它不能有 IEnumerable 属性 Items
  • @apomene 谢谢,但是我应该如何为属性 Items 设置类 pnpropo 的属性?
  • Listbox 和 ListViewItem 控件通常有一个 Items 属性
  • @apomene 有什么例子吗?

标签: c# asp.net webmethod


【解决方案1】:

您必须更改属性propo 的类型。我建议你使用一个

List<System.Web.UI.WebControls.ListItem> 

试试看:

public class pnpropo
{
    public List<System.Web.UI.WebControls.ListItem> propo { get; set; }
}

[WebMethod(EnableSession = true)]
[ScriptMethod]
public static void Savepnpro(pnpropo pro)
{
   string xpro = string.Empty;

   foreach (System.Web.UI.WebControls.ListItem item in pro.propo) 
   {
      if (item.Selected)
      {
         xpro += item.Value + "; ";
      }
   }
}

【讨论】:

  • 谢谢,但我在 public List&lt;System.Web.UI.WebControls.ListItem&gt; propo { get; set; } 上的内部服务器有错误
猜你喜欢
  • 1970-01-01
  • 2012-11-06
  • 2021-03-14
  • 1970-01-01
  • 2017-02-07
  • 2019-08-20
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
相关资源
最近更新 更多