'не может конвертировать систему типов веб-интерфейса webcontrols listitem' в мой класс - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь получить предмет из listbox и взять его как car предмет.

Я хочу взять tempcar, вынуть его значения и добавить их к значению состояния сеанса, где я могу редактировать значения на другой странице.

В настоящее время я использую этот переработанный код из приложения, но он не работает с веб-формами из-за следующей проблемы. не может преобразовать систему списков элементов web-интерфейса системы типов в автомобиль

  if (lbxCars.SelectedItem != null)
  {
      car tempCar = lbxCars.SelectedItem as car;    
  }

Любая помощь будет высоко ценится. Также я понимаю, что то, что я делаю, неуклюже, но оно предназначено для демонстрации функциональности.

Спасибо

    public partial class _Default : System.Web.UI.Page
{
    private static AmazonDynamoDBClient client = new AmazonDynamoDBClient();
    private static string tableName = "CarTable";
    private static string car_1 = "05-Rn-1964";
    private static string car_2 = "05-Rn-1965";
    private static string car_3 = "05-Rn-1966";
    List<car> cars = new List<car>();
protected void Page_Load(object sender, EventArgs e)
{



    Amazon.DynamoDBv2.DocumentModel.Table CarTable = Amazon.DynamoDBv2.DocumentModel.Table.LoadTable(client, tableName);
    GetItemOperationConfig config = new GetItemOperationConfig
    {
        AttributesToGet = new List<string> { "Reg", "Manufactor", "Year", "Problems" },
        ConsistentRead = true
    };
    Document doc1 = CarTable.GetItem(car_1, config);
    Document doc2 = CarTable.GetItem(car_2, config);
    Document doc3 = CarTable.GetItem(car_3, config);

    string Reg1 = doc1["Reg"].AsString();
    string Manufactor1 = doc1["Manufactor"].AsString();
    string Year1 = doc1["Year"].AsString();
    string Problems1 = doc1["Problems"].AsString();

    string Reg2 = doc2["Reg"].AsString();
    string Manufactor2 = doc2["Manufactor"].AsString();
    string Year2 = doc2["Year"].AsString();
    string Problems2 = doc2["Problems"].AsString();

    string Reg3 = doc3["Reg"].AsString();
    string Manufactor3 = doc3["Manufactor"].AsString();
    string Year3 = doc3["Year"].AsString();
    string Problems3 = doc3["Problems"].AsString();




    car car1 = new car(Reg1, Manufactor1, Year1, Problems1);
    car car2 = new car(Reg2, Manufactor2, Year2, Problems2);
    car car3 = new car(Reg3, Manufactor3, Year3, Problems3);
    cars.Add(car1);
    cars.Add(car2);
    cars.Add(car3);







    lbxCars.DataSource = cars;
    lbxCars.DataBind();

}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Server.Transfer("Default.aspx", true);
}

protected void LinkButton2_Click(object sender, EventArgs e)
{
    Server.Transfer("EditCar.aspx", true);
}

protected void LinkButton3_Click(object sender, EventArgs e)
{
    Server.Transfer("NewCar.aspx", true);
}

protected void LinkButton4_Click(object sender, EventArgs e)
{
    Server.Transfer("ViewDataBase.aspx", true);
}

protected void Button2_Click(object sender, EventArgs e)
{
    Server.Transfer("EditCar.aspx", true);
}

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (lbxCars.SelectedItem != null)
    {
        //car tempCar = lbxCars.SelectedItem as car;

    }
}

}

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете попробовать что-то вроде этого, где ID - это свойство, которое вы используете для SelectedValue в вашем списке.

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (lbxCars.SelectedValue != null)
    {
        var tempCar = cars.Any(e=>e.ID==lbxCars.SelectedValue );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...