c# - “无法将类型系统 web ui webcontrols listitem”转换为我的班级
问题描述
我正在尝试从 a 中获取一个项目listbox
并将其作为一个car
项目。
我想取出tempcar
,取出它的值并将它们添加到会话状态值中,我可以在其中编辑不同页面上的值。
目前我正在使用来自应用程序的这个回收代码,但由于以下问题,它似乎不适用于 webforms cannot convert type system web ui webcontrols listitem to car
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;
}
}
}
解决方案
您可以尝试这样的事情,其中 ID 是您用于列表框中的 SelectedValue 的属性。
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (lbxCars.SelectedValue != null)
{
var tempCar = cars.Any(e=>e.ID==lbxCars.SelectedValue );
}
}
推荐阅读
- python - pandas 十分位在 DataFrame 行上排名
- c# - WPF - 使用动画在正方形中创建抛物线
- netsuite - 如何将自定义参数添加到套件的外部 URL。出于安全目的,如何通过身份验证访问套件的外部 url
- mongodb - 如何在mongodb中找到指定文档后面的文档?
- php - move_uploaded_file 在循环中无法正常工作
- ruby - What can you do to find all the matching elements in an array... how do you implement?
- javascript - 如何反序列化包含的模型属性?
- excel - 如何计算投资回报率
- ios - Firebase Auth Google - 始终要求提供帐户
- python-3.x - 将两个或多个 lambda 函数合二为一