我是MVC的新手,所以我正在MVC .NET Core中做一个项目来学习
我在创建视图模型时遇到一些困难
型号:
void colorReduce(cv::Mat image, int div = 64) {
int nl = image.rows; // number of lines
int nc = image.cols * image.channels(); // total number of elements per line
for (int j = 0; j<nl; j++) {
// get the address of row j
uchar* data = image.ptr<uchar>(j);
std::cout << "BEFORE: " << static_cast<int>(data[0]) << std::endl;
for (int i = 0; i<nc; i++) {
// process each pixel ---------------------
data[i] = data[i] / div * div + div / 2;
// end of pixel processing ----------------
} // end of line
std::cout << "AFTER: " << static_cast<int>(data[0]) << std::endl;
}
}
我尝试了一些样式的ViewModels,但是这样做不正确。
在“查看要添加披萨”中,我想添加一个要通过下拉列表发送披萨的送货员的名称。
该项目就像一个管理比萨饼的网页。
答案 0 :(得分:1)
送货人员来源有哪些选择?我猜这存储在数据库中,而不是一个枚举。如果是这种情况,您的视图模型可能看起来像这样:
public class PizzaViewModel
{
public int id { get; set; }
public string Flavour { get; set; }
public DateTime Date { get; set; }
public string Size { get; set; }
public IEnumerable<SelectListItem> Deliverymen { get; set; }
public int SelectedDeliveryMan { get; set; }
}
DeliveryMen
中每个项目的构建方式如下:
new SelectListItem
{
Value = individualDeliveryMan.Id,
Text = individualDeliveryMan.FullName
});
然后在您的视图中,您将看到类似以下的内容:
@model YourProject.PizzaViewModel
...
@Html.DropDownListFor(x => x.SelectedDeliveryMan, Model.DeliveryMen)
...
将数据发布回您的控制器后,属性SelectedDeliveryMan
将保存在您的下拉列表中选择的送货人的Id
。
在不相关的注释上,我猜测Size
应该是一个枚举而不是字符串属性,因为通常会有一组预定义的大小供用户选择,而不是允许用户输入他们想要的任何内容
答案 1 :(得分:-1)
您快到了。据我了解,一个披萨只需要一名送货员就可以送货。因此,您可以执行以下操作:
[Table("Pizzas")]
public class Pizza
{
[Key]
public int id { get; set; }
public string Flavour { get; set; }
public DateTime Date { get; set; }
public string Size { get; set; }
public Deliveryman Deliveryman { get; set; }
}
此信息发布到控制器后,将具有您需要找出谁提供披萨的所有信息。
如果您还想获取反向信息(找出某个送货员送来的披萨),则可以执行以下操作:
public class Deliveryman
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Cellphone { get; set; }
public string Car { get; set; }
public ICollection<Pizza> Pizzas {get; set;}
}
与功能强大的ORM(例如实体框架(Core))结合使用时,您可以做很多事情。如果需要,这里有更多信息: https://www.learnentityframeworkcore.com/conventions/one-to-many-relationship