使用 JQuery 访问 ViewData

发布于 2024-10-17 00:30:37 字数 410 浏览 1 评论 0原文

我正在开发一个mvc应用程序。我为不同的操作编写了一个jquery并保存到一个名为my.js的js文件中。我将该 js 文件包含到我的页面中。

 <script src="../../Scripts/my.js" type="text/javascript"></script>      

我如何从该 js 文件访问 ViewData。我尝试了很多方法,但还没有奏效。 我用来从 js 文件访问 ViewData 的代码如下所示。

 var CalanderPreference = "<%= ViewData["CalanderPreference"] %>";

但它返回一个错误,如“预期;” '

有什么想法吗?

I am developing a mvc application.I wrote a jquery for different operations and saved in to a js file named my.js. And i included that js file into my page.

 <script src="../../Scripts/my.js" type="text/javascript"></script>      

How can i access ViewData from that js file. I tried many methods.But didnt worked yet.
The code i used to access ViewData from js file is shown below.

 var CalanderPreference = "<%= ViewData["CalanderPreference"] %>";

But it returning an error like 'Expected ; '

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼前雾蒙蒙 2024-10-24 00:30:37

ViewData 在客户端上不可访问,因为它仅存在于视图渲染中。

您可以在服务器端将视图数据序列化为 json,将其写入隐藏字段,然后在客户端将其解析为 javascript 对象。

ViewData is not accessible on client, because it exists only on view rendering.

You could serialize your view data to json on server side, write it to hidden field, and them parse it to javascript object on client side.

情魔剑神 2024-10-24 00:30:37

您可以在视图上创建 javascript 对象,如本例所示。

将其放入您的视图中,而不是放在单独的文件中:

        <script type="text/javascript">
            $(function() {
                var saleYear = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Year %>");
                var saleMonth = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Month %>") - 1;
                var saleDay = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Day %>");
                var saleHour = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Hour %>");
                var saleMinute = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Minute %>");
                var saleSecond = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Second %>");
                var endSaleDate = new Date(saleYear, saleMonth, saleDay, saleHour, saleMinute, saleSecond);
                $("#countDownSale24").countdown({ until: endSaleDate, compact: true, format: "HMS" });
            });
        </script>

You can create your javascript object on the view like in this example.

Put this into your view and not in a seperate file:

        <script type="text/javascript">
            $(function() {
                var saleYear = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Year %>");
                var saleMonth = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Month %>") - 1;
                var saleDay = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Day %>");
                var saleHour = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Hour %>");
                var saleMinute = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Minute %>");
                var saleSecond = parseInt("<%=ViewData.Model.Sale24Hours.EndDate.Second %>");
                var endSaleDate = new Date(saleYear, saleMonth, saleDay, saleHour, saleMinute, saleSecond);
                $("#countDownSale24").countdown({ until: endSaleDate, compact: true, format: "HMS" });
            });
        </script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文