asp.net – 最佳实践 – 从Code-Behind设置jQuery属性
我需要使用在代码隐藏中计算的值在jQuery命令中设置单个属性.我最初的想法只是使用<%=%>像这样访问它:
的.aspx <script type="text/javascript" language="javascript"> $('.sparklines').sparkline('html',{ fillColor: 'transparent',normalRangeMin: '0',normalRangeMax: <%= NormalRangeMax() %> }); </script> .aspx.cs protected string NormalRangeMax() { // Calculate the value. } 有趣的是,必须从ASPX页面调用才能获得单个值.更不用说我有一个完整的方法只需要填充一个属性进行小计算. 另一种方法是创建整个< script>使用clientScriptManager.RegisterClientScriptBlock在代码隐藏中阻止.但我真的不喜欢把整个JavaScript块放在代码隐藏中,因为它的JavaScript就好了. 也许如果我最终拥有许多这样的方法,我可以把它放在一个部分类中,所以至少它们与其余代码在物理上是分开的. 您建议使用哪种方法易于理解且易于维护? 解决方法
< %%>工作良好.我做的一件事是在页面上的隐藏字段中设置一个值(然后编写必要的javascript以提取该值),这很好,因为我可以通过javascript更改该隐藏字段,当/如果页面回发我可以从后面的代码中获取新值.
如果需要按需调用方法,可以对ASP.NET WebMethod执行jQuery AJAX调用以获取数据并重新填充各种选项.你可以在这里找到一个关于如何做到这一点的好教程:http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/ 下面是一些使用隐藏字段方法的示例代码(使用datepicker控件,但你会得到这个想法): <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="txtCalendar" runat="server" /> <asp:HiddenField ID="hfTest" runat="server" /> </div> </form> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="http://ui.jquery.com/latest/ui/ui.datepicker.js"></script> <script type="text/javascript"> var dateMinimum = new Date($("#<%= hfTest.ClientID %>").val()); $(function() { $("#<%= txtCalendar.ClientID %>") .datepicker({ minDate: dateMinimum }); }); </script> </body> 而Page_Load方法背后的代码: protected void Page_Load(object sender,EventArgs e) { // Set Value of Hidden Field to the first day of the current month. this.hfTest.Value = new DateTime(DateTime.Today.Year,DateTime.Today.Month,1).ToString("MM/dd/yyyy"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 自签名ASP.NET Web API 2 REST服务的令牌身份验证和授权
- asp.net-mvc – 在ASP.NET MVC视图中允许多少逻辑?
- asp.net – 用于修复表中的电话号码问题的SQL查询
- asp标签文本在Jquery中更改了事件
- asp.net-web-api – 在ASP.NET Web API控制器的nunit测试中
- asp.net – System.Reflection.Assembly.LoadFile锁定文件
- 如何在ASP.NET应用程序中唯一标识客户端计算机?
- asp.net-mvc – ASP.NET MVC可以在视图中使用接口作为模型吗
- asp.net-mvc – 如何使用ASP.NET MVC 5和OWIN获取Facebook的
- asp.net – 为什么不能通过IIS7中的web.config删除“服务器
- asp.net-mvc – 来自父Razor布局的@Functions继承
- asp.net mvc4 jquery不工作
- ASP.Net MVC Ajax形式与jQuery验证
- asp.net-mvc – Asp.Net MVC:为什么我的视图将N
- asp.net – URL重写 – web.config错误
- asp.net-mvc – 为Cascade子列表构建一个空的MVC
- asp.net-mvc – 不显着的验证不工作在动态添加的
- asp.net-mvc – Facebook Javascript登录示例
- ASP.NET(MVC2)中<%:%>做了什么?
- asp.net – 元素’UpdatePanel’不是已知元素