簡體   English   中英

如何在 View 中使變量成為全局變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM