如何管理ASP.. NET参数和Javascript键
How to manage ASP.NET parameters and Javascript keys
这是我的场景。
我使用ASP。NET MVC 3与HTML, CSS, JavaScript/JQuery一起制作web应用程序。我使用Visual Studio 2010
我们已经发布了该产品(1.0版本),但是现在我们处于项目的"维护"模式,我有一种感觉,随着项目添加了新功能,维护c# (ASP. js)和c# . js之间的常量集将变得更加困难。. NET MVC)和JavaScript。
例如,在JavaScript中我将创建一个$。post并将其链接到MVC url控制器/动作,然后我将传入参数{key1: value1, key2: value2}
问题是,如果c#参数名改变,或者参数在签名中的位置改变,我只会在运行时知道JavaScript需要更新(我假设我是一个程序员,不太了解架构,在运行前不能这样做)。
所以我的问题是,你如何更容易地管理JavaScript方面,以便我可以保持"同步"与c#方面的变化。编译器可以以某种方式为我做这件事,或者有一个插件可以帮助我吗?
谢谢。
你的问题问的是同步c#常量和JavaScript常量,但随后也谈到了参数名称和位置。
在MVC世界中,参数的位置比名称更重要,而且我还没有找到一种很好的方法来保持这些同步,除非进行广泛的单元和集成测试。你在做那些检查,对吧?;)
就实际的常量和枚举而言,我已经使用T4模板为我需要的常量/枚举生成.cs和(命名空间). js文件(在我的情况下,从数据库中,但也可以很容易地是其他任何东西)。
我想不出任何简单的方法,但这里有一些可能会有所帮助。当我通常开发一些网站时,首先,我尽量在视图中编写尽可能少的javascript代码,并将它们全部放在。js文件中,这样你就可以确保你可以重用许多代码,并且因为所有代码都是纯javascript,所以不会有任何问题。我还在数据库中保留了所有操作及其控制器和区域名称的记录,并将它们用于管理权限和安全问题。对于您的问题,您可以将所有这些方法添加到数据库中,然后用一段代码检查该方法是否存在。
添加到DB:(在基本控制器中,所以你不需要手动做任何事情)
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var area = filterContext.RouteData.DataTokens["area"];
string areaName = area != null ? area.ToString() : "";
var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
string actionName = filterContext.ActionDescriptor.ActionName;
//Add to DB
base.OnActionExecuting(filterContext);
}
检查是否存在:
bool exist = false;
try
{
HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create("http://www.example.com/image.jpg");
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
exist = response.StatusCode == HttpStatusCode.OK;
}
}
catch
{
}
您最好的选择是集成测试。您将能够准确地测试用户将执行的操作。对于编写集成测试,Seleno是一个很好的选择(它封装了Selenium)。
值得一做。如果您有良好的集成测试覆盖率,您将在生产中遇到更少的错误。
- 使用jquery变量作为.net MVC中ActionLink的参数
- 如何将javascript变量作为参数提供给asp.net方法
- 使用评估函数调用 javascript 函数作为文本框 Asp.net 参数
- HTTP GET中的C#MVC ASP.NET URL参数未正确编码
- 如何使用asp.net将gridview的行号作为命令参数传递
- Asp.net向javascript函数发布了多个参数
- 使用来自 asp.net 的参数调用 Java 脚本函数
- 如何使用一些变量参数从javascript函数调用 asp.net C#函数并从C#函数获取字符串返回
- 当 JSON.stringify 时,ASP.NET MVC 控制器参数的 JSON 为 null
- 如何将一些参数从javascript接收响应字符串 asp.net 页面并更新html文档
- Ajaxupload.js如何将查询参数传递给ashx文件 asp.net
- C# asp.net MVC - 使用参数从 html.actionlink 调用脚本函数
- AngularJS $http.post ASP.NET 具有简单类型参数的 Web API 控制器
- 如何在 asp.net 中使用 C# 代码将参数传递给 JavaScript 函数
- 将 JavaScript 参数传递给 asp.net
- 如何从控制器 ASP.NET url 中删除哈希参数,以便返回到 Angular.JS 应用程序中的根 URI
- ASP.NET-参数的类型是什么.价值
- 如何将输入参数从 j 查询对话框传递到 asp.net 中的处理程序文件 (.ashx)
- AngularJS中缺少的可空参数.. NET Web服务方法
- 从ASP发送参数.NET转换为javascript