Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NETMVC会给我所需要的HTML/CSS/JS分离吗?_Javascript_Html_Css_Asp.net Mvc - Fatal编程技术网

Javascript NETMVC会给我所需要的HTML/CSS/JS分离吗?

Javascript NETMVC会给我所需要的HTML/CSS/JS分离吗?,javascript,html,css,asp.net-mvc,Javascript,Html,Css,Asp.net Mvc,我正在与我的ASP.NET开发团队合作,尝试在呈现页面时创建“更好”(即更干净)的HTML。目前,.NET有一种令人讨厌的倾向,它会将JavaScript转储到页面中,这使得它成为表单控件的强制性要求,并且在JS不可用时不允许表单工作。在某些情况下,我们正在努力克服这一点,而不必在开发时间估计中增加一个显著的部分 我以前使用过MVC——通过Java中的Struts——并发现在那个例子中,我能够保持HTML页面完全符合我的要求。(这个观点基于我通常事先开发的“最佳情况”静态HTML,然后交给Jav

我正在与我的ASP.NET开发团队合作,尝试在呈现页面时创建“更好”(即更干净)的HTML。目前,.NET有一种令人讨厌的倾向,它会将JavaScript转储到页面中,这使得它成为表单控件的强制性要求,并且在JS不可用时不允许表单工作。在某些情况下,我们正在努力克服这一点,而不必在开发时间估计中增加一个显著的部分

我以前使用过MVC——通过Java中的Struts——并发现在那个例子中,我能够保持HTML页面完全符合我的要求。(这个观点基于我通常事先开发的“最佳情况”静态HTML,然后交给Java程序员填补漏洞。)

这项工作进行得非常顺利,我们能够从我见过的CMS中生成一些“最好”的网页。NETMVC能给我提供我所需要的分离吗?或者把宝贵的开发时间放在一边测试这一点会不会是一种虚假的经济


如果.NET MVC不打算给我这种对分离的细粒度控制,那么对.NET编码实践、库等的任何建议都会非常有用。

取决于您将要使用的视图引擎。对

但您可以通过查看页面源代码中的堆栈溢出来轻松检查这一点。这不是禅宗花园,但很干净

还有一些澄清:

页面的呈现由视图引擎完成。您可以使用标准视图引擎或现有引擎,如nVelocity或Brail,就像使用单轨一样。


由于视图引擎负责创建HTML,结果取决于您的选择。但是大多数视图引擎在这方面都比普通的ASP.Net要好,ASP.Net MVC框架会给你一个更熟悉的分离。因为MVC框架中没有viewstate等,所以您不必担心JavaScript被转储到页面中。您看到的唯一JavaScript调用将是手动添加的调用

在大多数情况下,你可以像在不同的框架中一样分离HTML/CSS/JS。

@p>@Vania说:

对.NET编码有什么建议吗 实践、图书馆等可能 那真的很有帮助

在ASP.Net中编写代码时,我尝试保持高度的分离。我发现,如果我避免使用asp控件并尽可能多地使用基本html元素,我就可以避免asp.Net倾向于向我的页面中注入额外CSS或JS的任何情况。例如,使用span代替asp:literal,使用button代替asp:button,等等


我使用的唯一ASP控件是repeater,它用于创建表。任何我需要的类似于asp控件的功能,我要么用javascript实现自己,要么使用像jquery这样的框架。

asp.Net MVC将帮助您保持html/css/js的独立性,因为它将提供较少的功能来阻止您将它们分开

例如,Html助手通常只返回:Html。从那时起,您可以自由选择仅通过类属性关联所有样式信息


考虑一下您通常使用jQuery这样的库所遵循的实践。这是一个很好的例子,说明了如何根据元素类型、类和id等将事件处理行为应用于页面加载上的元素,从而将脚本功能完全保留在js中,而不包含在html中。

请提供更具体的示例?我不是ASP程序员,所以我不知道你的意思。我正在努力研究其他方案,以便向我的团队展示。提前感谢。我们正在部分解决这些限制,但我遇到了完全抛弃ASP控件的阻力(另一个问题!)。目前我正在使用jQuery进行大多数JavaScript编码,除了ASP更改一些ID外,它工作得很好。谢谢。我应该注意一些具体的注意事项吗?不太清楚——如果你是从使用HTML和ASP.NET MVC框架来填补漏洞的角度来看,这是非常直接的。我建议你看看斯蒂芬·沃尔特的网站:获取大量的教程和指南