Использование определения элементов в publi c stati c void in c# - PullRequest
0 голосов
/ 20 февраля 2020

У меня проблема с использованием Items на public static void.

Когда я пытаюсь восстановить с 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 + "; ";
      }
   }
}

1 Ответ

2 голосов
/ 20 февраля 2020

Вы должны изменить тип недвижимости 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 + "; ";
      }
   }
}
...