[英]How can I make variable global in View?
我需要將下面的代碼定義為視圖中的全局變量,然后我可以在我單獨的 JS 代碼中使用該值。 我不知道該怎么做,我嘗試了各種方法。
<td class="choice">
@Html.TextBoxFor(modelItem => item.ManualDate, new { @type = "date", @class = "form-control datepicker" }) //I want this @Html... to be global and available in .js file
</td>
所以我的這部分視圖應該在局部視圖頂部的某個地方聲明? 在大括號中?
@{
ViewBag.Title = "myTitle";
Layout = "~/Views/Shared/_Layout.cshtml";
var globalVar = "@Html.TextBoxFor(modelItem => item.ManualDate, new { @type = 'date', @class = 'form-control datepicker' })";
}
我在 .js 文件中引用它,但它不能正常工作(在“選擇”數據字段中顯示字符串而不是剃刀元素):
finalChoice.innerHTML = '@Model.globalVar'
像@Html.TextBoxFor
和@Model
這樣的剃刀語法只能由服務器解析,而不是 JavaScript。 在@{//...}
使用變量將被解析為字符串。 父頁面中的 JavaScript 文件可以直接調用局部視圖中的元素。
@Html.TextBoxFor
可以放在視圖中。 但如果不想在視圖中顯示,請將其樣式設置為隱藏。 然后你可以通過它的 id 獲取這個元素。
在_part.cshtml(局部視圖)
<div id="part">
@Html.TextBoxFor(modelItem => modelItem.ManualDate, new { @type = "date", @class =
"form-control datepicker" })
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.