我试图在新窗口中打开每个图像的新全尺寸图像。我使用此代码:
<script type="text/javascript">
function openImage(imageUrl) {
window.open(imageUrl);
}
@foreach (var image in Model.Images)
{
<img src="@Url.Action("Thumbnail", "Done", new { width = 150, height = 150, file = @imagen.filename })" alt="@imagen.filename" onclick="openImage('@Url.Content(ViewBag.Path + @imagen.filename)')" />
}
但是当我点击图片时使用它,它就无法打开任何东西。
你能帮我解决这个问题吗?
先谢谢你
由于错误代码
而编辑了openImage函数答案 0 :(得分:1)
解决方案是获取以这种方式保存图像的目录的URL:string url = Url.Content("~/Images");
答案 1 :(得分:0)
问题
中有许多不匹配的变量名称string innerString = "Clicking Log Out will clear our cookies and log you out of Stack Overflow on all devices";
if (innerString.Length > 37)
{
int startvalue = 38;
while (startvalue < innerString.Length)
{
if (innerString[startvalue] == ' ')
{
innerString = innerString.Insert(startvalue, System.Environment.NewLine).TrimEnd();
startvalue = startvalue + 38;
}
else
{
int i = innerString.LastIndexOf(" ", startvalue);
startvalue = i++;
innerString = innerString.Insert(startvalue, System.Environment.NewLine).TrimEnd();
startvalue = startvalue + 38;
}
}
}
我认为这些都是这个问题的错别字。
最后imageUrl/imgUrl
image/@imagen
可能遗漏了ViewBag.Path
。要解决此问题,请不要连接(/
)个网址部分,但请使用+
,如:
System.IO.Path.Combine
您可以更改循环以创建到新窗口/标签的简单链接(这些也可以通过键盘导航),而不是使用javascript @Url.Content(Systemm.IO.Path.Combine(ViewBag.Path, image.filename))
onclick
如果这不起作用(我希望它不会为你赢得),请提供详细信息:
@foreach (var image in Model.Images)
{
<a target="_blank" href='@Url.Content(ViewBag.Path + @image.filename)'>
<img src="@Url.Action("Thumbnail", "Done", new { width = 150, height = 150 })" alt="@image.filename" />
</a>
}