为什么我不能从javascript访问我的模型对象

Why I can't access my model object from javascript

本文关键字:我的 模型 对象 访问 javascript 不能 为什么      更新时间:2023-09-26
@using Demo.Models
@model Demo.Models.MyClass
@{
    ViewBag.Title = "Details";
}
<div>
    <h4>Details: @Html.DisplayFor(model => model.Id)</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.Name)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Name)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Age)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Age)
        </dd>
    </dl>
</div>
<p>
    @Html.ActionLink("Back to List", "Index")
</p>
@section Scripts {
    <script type="text/jscript">
        $(document).ready(function() {
            alert(@Model.Id);
        });
    </script>
}

使用这段代码:

<script type="text/jscript">
   $(document).ready(function() {
        alert(@Html.Raw(Json.Encode(Model.Id)));
   });
</script>

javascript之前的所有内容都是对服务器的指令。@Model是对模型的引用,该模型被传递给呈现视图的代码——这发生在服务器上。

如果你想访问你的模型的ID,你将不得不在你的页面上的某个地方呈现它,最可能的是作为JavaScript中的文字或作为HTML元素的值,你可以通过jQuery访问。

你可能想做映射到JS。例子:

<script>
var id = @Model.Id;
</script>

你将能够使用Javascript var id