![](/img/trans.png)
[英]how to reference to a image file in <img src/> using RazorEngine for generating HTML Email
[英]How to reference controller string in HTML <img src>
我正在尝试在img标签的src中显示我的控制器字符串,但是是的,我失败了。
这是我的模型代码:
public class PigeonDetails
{
[Key]
public int PigeonID { get; set; }
[Required]
[Display(Name = "Ring Number")]
public string RingNumber { get; set; }
[Display(Name = "Pigeon Name")]
public string Name { get; set; }
[Required]
[Display(Name = "Pigeon Color")]
public string Color { get; set; }
[Required]
[Display(Name = "Gender")]
public string Sex { get; set; }
[Required]
[Display(Name = "Year Type")]
public int Year { get; set; }
[Display(Name = "Description")]
public string Description { get; set; }
[Display(Name = "Date Added")]
public DateTime DateAdded { get; set; }
public string Image { get; set; }
}
这是我的控制器-只有我使用的方法:
[HttpGet]
// GET: PigeonDetails/Edit/5
public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
var pigeonDetails = await _context.PigeonDetails.SingleOrDefaultAsync(m => m.PigeonID == id);
string placeholder = _context.PigeonDetails.Where(u => u.PigeonID == id).Select(u => u.Image).ToString();
pigeonDetails.Image = placeholder;
if (pigeonDetails == null)
{
return NotFound();
}
ViewData["ImagePath"] = pigeonDetails;
return View(pigeonDetails);
}
PigeonDetails.Image是存储在数据库中的字符串(图像路径-正确存储)
这是我的HTML:
@{var image = (PigeonDetails)ViewData["ImagePath"];}
<img src="@image.Image" id="profile" alt="user" class="img-responsive radius">
它没有在页面上显示我的图像,请提供帮助。
你可以试试这个吗
上页
@model ModelNameSpace.PigeonDetails
和你的html元素
<img src="@Model.Image" id="profile" alt="user" class="img-responsive radius">
请更改名称空间。 这只是名称空间名称示例;)
首先,删除字符串placeholder
因为PigeonDetails如果已匹配ID,则已经有了它。 IQueryable上的.ToString()
也存在问题,因为它将返回接收到调用的对象的运行时类型的完全限定名称。
其次,删除ViewData位。 您已经为视图使用了Model(如果您改用viewmodel,则更好)。
然后在视图顶部添加@model PigeonDetails
,以显示视图的Model属性。
最后, <img src="@Model.Image" />
这就是我要做的。 我删除了很多不必要的代码。
我对您的Edit
操作方法进行了很多调整:
[HttpGet]
public async Task<IActionResult> Edit(int? id)
{
if (id == null)
{
return NotFound();
}
PigeonDetails pigeonDetails = await _context.PigeonDetails
.Where(m => m.PigeonID == id)
.SingleOrDefaultAsync();
if (pigeonDetails == null)
{
return NotFound();
}
return View(pigeonDetails);
}
在“ Edit
视图”页面中,执行以下操作:
@model YourNamespace.PigeonDetails
<img src="@Model.Image" id="profile" alt="user" class="img-responsive radius" />
远离视图数据,首选和更安全的方法是使用视图模型。
我希望这可以帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.