首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >引用模型属性的站点范围内的jQuery函数

引用模型属性的站点范围内的jQuery函数
EN

Stack Overflow用户
提问于 2018-03-14 06:01:50
回答 1查看 20关注 0票数 0

我在一个页面中使用jQuery函数,如下所示:

代码语言:javascript
运行
复制
//change the Office dropdown list when the Site selection changes
    $(document).ready(function () {

            $('#SiteID').change(function () {
                var officeUrl = '@Url.Content("~/")' + "Admin/GetJsonObjectsFromOffices";
                var ddlsource = "#SiteID";
                //get the office list
                $.getJSON(officeUrl, { SiteID: $(ddlsource).val() }, function (data) {
                    var items = "";
                    $("#OfficeID").empty();
                    $.each(data, function (i, office) {
                        items += "<option value='" + office.value + "'>" + office.text + "</option>";
                    });
                    $('#OfficeID').html(items);

                    //set the select default for Office dropdown
                    addSelectOption("OfficeID");

                    //set the site selection based on model data
                    $('#OfficeID').val(@Model.OfficeID);

                    updateSiteName();
                });
            });

            function updateSiteName(){
                var dropdownSelection = document.getElementById("SiteId");
                var siteName = dropdownSelection.options[dropdownSelection.selectedIndex].text;
                document.getElementById("SiteName").value = siteName;
            }
});

理想情况下,我希望将其放在站点范围内的.js文件中,这样我就不必在每个页面中都包含它。我将在_Layout.cshtml文件的<head>中引用该脚本

代码语言:javascript
运行
复制
<script src="~/js/site.js"></script>

问题是,当我像这样包含它时,它不再起作用。由于.js文件没有要引用的模型,所以我在@Model.OfficeID行上看到了一条曲折的线。有没有办法只写一次,然后把它包含在我所有的页面中,而不是分别放在每个页面中?

EN

回答 1

Stack Overflow用户

发布于 2018-03-14 15:21:39

您希望在多个页面上具有该@Model.OfficeId值,这意味着您拥有一个布局页面或一个公共共享页面。

如果第1点没问题,那么在shared.cshtml(任何共享的cshtml文件)中创建一个隐藏的输入元素,并通过您的公共基础控制器或从哪里获取它来设置值。

代码语言:javascript
运行
复制
<input id="officeID" type="hidden" value="@Model.OfficeID" />

设置完成后,您可以在该share.cshtml文件中的任何位置使用$('#officeId').val()的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49266556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档