我正在嘗試在 ac#cshtml 檔案的 for 回圈中設定一個函式。此功能的目的是在按鈕單擊時取消隱藏照片,以便用戶可以看到它們。
@if (Model.Photos.PhotosBase64 != null)
{
for (var i = 0; i < Model.Photos.PhotosBase64.Count; i )
{
<h1 class="font-weight-bold">Photo @(i 1)</h1>
<input type="button" value="Show Button" onclick="showImage();"/>
<img alt="" id="loadingImage_@i" src="data:image/png;base64, @Model.Photos.PhotosBase64.ElementAt(i)" style="visibility:hidden"/>
<br/>
<br/>
@Html.HiddenFor(modelItem => Model.Photos.PhotosBase64[i])
<input type="submit" value="Remove Photo" class="btn btn-danger" id="removephoto-btn" asp-action="RemovePhoto" asp-route-index="@i" />
<br/>
<br/>
<%= function showImage(){document.getElementById('loadingImage_' i).style.visibility="visible";}> </%>
}
}
我讀過 <%=> 可以打開一個 javascript 部分,但它似乎無法正常作業,可能是因為我缺少語法或在錯誤的背景關系中使用它。我嘗試了幾種不同的格式,但在頁面上留下了最近的嘗試以進行一些可視化。如何使用 JS 通過選擇照片的 ID 來隱藏/取消隱藏照片?(或其他更有效的方法)
uj5u.com熱心網友回復:
對于初學者來說,JavaScript 代碼放在一個<script>元素中。
除此之外,你所做的事情的邏輯有點奇怪。考慮您在回圈中輸出此代碼。這意味著該頁面將有許多不同版本的函式,稱為showImage,每個版本都會覆寫前一個版本。所以實際上只有最后一個會被呼叫。
定義一個執行您想要的操作的函式(可能在頁面底部,當然不是回圈),并讓它需要執行該操作所需的任何資訊。在這種情況下,該資訊是id目標元素的:
<script type="text/javascript">
function showImage(id) {
document.getElementById(id).style.visibility="visible";
}
</script>
然后在回圈中,您可以呼叫該函式,并id相應地提供值:
<input type="button" value="Show Button" onclick="showImage('loadingImage_@i');"/>
uj5u.com熱心網友回復:
這是答案
@if (Model.Photos.PhotosBase64 != null)
{
for (var i = 0; i < Model.Photos.PhotosBase64.Count; i )
{
<h1 class="font-weight-bold">Photo @(i 1)</h1>
<input type="button" value="Show Button"
onclick="showImage('loadingImage_@i');"/>
<img alt="" id="loadingImage_@i" src="data:image/png;base64,
@Model.Photos.PhotosBase64.ElementAt(i)" style="visibility:hidden"/>
<br/>
<br/>
@Html.HiddenFor(modelItem => Model.Photos.PhotosBase64[i])
<input type="submit" value="Remove Photo" class="btn btn-danger" id="removephoto-btn" asp-action="RemovePhoto" asp-route-index="@i" />
<br/>
<br/>
}
}
<script type="text/javascript">
function showImage(id) {
document.getElementById(id).style.visibility="visible";
}
</script>
您必須有一個 javascript 方法才能使照片可見。并且你必須將你想要的影像 ID 傳遞給該函式
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476523.html
標籤:javascript C# 剃刀
上一篇:如何讓這個相機運動更流暢?
