为什么我能';无法从javascript访问我的模型对象 @使用Demo.Models @模型Demo.Models.MyClass @{ ViewBag.Title=“详细信息”; } 详细信息:@Html.DisplayFor(model=>model.Id) @DisplayNameFor(model=>model.Name) @DisplayFor(model=>model.Name) @DisplayNameFor(model=>model.Age) @DisplayFor(model=>model.Age)

为什么我能';无法从javascript访问我的模型对象 @使用Demo.Models @模型Demo.Models.MyClass @{ ViewBag.Title=“详细信息”; } 详细信息:@Html.DisplayFor(model=>model.Id) @DisplayNameFor(model=>model.Name) @DisplayFor(model=>model.Name) @DisplayNameFor(model=>model.Age) @DisplayFor(model=>model.Age),javascript,asp.net-mvc,Javascript,Asp.net Mvc,@ActionLink(“返回列表”、“索引”) @节脚本{ $(文档).ready(函数(){ 警报(@Model.Id); }); } 使用此代码: @using Demo.Models @model Demo.Models.MyClass @{ ViewBag.Title = "Details"; } <div> <h4>Details: @Html.DisplayFor(model => model.Id)</h4>

@ActionLink(“返回列表”、“索引”)

@节脚本{ $(文档).ready(函数(){ 警报(@Model.Id); }); }
使用此代码:

@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>
}

$(文档).ready(函数(){
警报(@Html.Raw(Json.Encode(Model.Id));
});

您可能需要映射到JS。 例如:


var id=@Model.id;

您将能够使用Javascript var id

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

如果要访问模型的ID,必须在页面上的某个位置呈现它,很可能是JavaScript中的文字,或者是可以通过jQuery访问的HTML元素的值

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