我已经开始学习ASP.Net MVC
,关于MVC framework
[客户端或服务器端],我几乎没有问题。你可能会发现这些问题很愚蠢,但我真的很困惑,想清除我的怀疑。
这是......
ASP.Net MVC
,是服务器端还是客户端框架?
让我们说我的控制器方法从SQL Server
获取数据,我将其转换为JSON
并更新MVC view
,在这种情况下
一个。它被称为客户端数据绑定还是服务器端绑定?
B中。使用控制器方法从数据库中检索数据时,我是否将完整的HTML与响应中的数据或我请求的数据一起获取?
在ASP.Net
中,假设我在按钮点击事件中在数据库中插入数据,如果我没有错,在这种情况下,它会将整个页面提交给服务器,按钮点击事件的工作原理在ASP.Net MVC
?
我还读过,我们可以Angular.JS
或knockout.JS
使用ASP.Net MVC
,如果我们使用Angular.JS
或knockout.JS
将会解决的目的是什么它与ASP.Net MVC
?
此致
答案 0 :(得分:1)
ASP.Net MVC,它是服务器端还是客户端框架?
> MVC - is Model View Controller - its All-in-One
让我们说我的控制器方法从SQL Server获取数据,我 将其转换为JSON并更新MVC视图,在本例中为
它被称为客户端数据绑定还是服务器端绑定?
> Server side is ALL what you do with C# (In class library/controllers etc)
使用控制器方法从数据库中检索数据时,请执行此操作 获取整个HTML以及响应中的数据或仅包含数据 我要求了吗?
>If you will use knockout / angular - then you need just get data from server, and data-bind will happen automatically
在ASP.Net中,假设我在按钮点击时在数据库中插入数据 如果我没有错,在这种情况下,它将提交整个 页面到服务器,按钮单击事件如何在ASP.Net MVC中工作?
>Or with submit form (to action url) - or with client framework (knockout/angular) - you just send json
我还读过我们可以使用Angular.JS或knockout.JS ASP.Net MVC,如果我们将Angular.JS或knockout.JS解决的目的是什么 与ASP.Net MVC一起使用?
>Angular more rich framework. In knockout we have only data-bind with html. It depends on what you need for your project.
答案 1 :(得分:1)
ASP.Net MVC是一个服务器端框架。 (另一种选择是ASP.Net WebForms:您的事件是同一页面的帖子,抽象为桌面应用程序事件。)
如果需要,您可以将数据输出为JSON或XML,并将其与客户端JavaScript框架一起使用以更新您的视图。
ASP.Net MVC中没有按钮点击。所有数据都作为URL,GET或POST变量中的参数发送到服务器(事实上,WebForms也这样做)。您可以直接从Request中获取值,也可以使用MVC中的绑定将值作为操作参数获取。
这些框架用于在客户端构建视图。要使用它们,您必须主要从控制器输出JSON。
答案 2 :(得分:0)
MVC是一种可以“随处”应用的设计模式 - 例如服务器或客户端。在ASP.NET MVC中,MVC模式(模型,视图,控制器)首先应用于服务器端,例如,您编写的代码在服务器上执行。 (在你看来,你可以使用一些MV *模式,使用你自己的代码或像Knockout或Angular这样的库。然后在客户端执行这个(JavaScript),因此在客户端执行。)
有时,与其他服务或类似服务通信的一段代码或软件被标记为“客户端”,但这是一个不同的背景。
如果我们讨论ASP.NET MVC Controller
代码,您的绑定示例将在服务器上执行。 (一般来说,从框架的角度来看,没有必要进行任何明确的JSON转换,但这是一个不同的问题。)
ASP.NET MVC具有称为“模型绑定”的东西(google it)。它是开箱即用的,但您也可以使用自己的实现来控制它。由于此功能,您通常会在Controller
内处理强类型数据。
ASP.NET MVC和Web窗体根本不同。准确地解释如何以及如何在ASP.NET MVC中创建发送数据的按钮超出范围,但通常我们正在讨论简单的POSTed数据,例如来自HTML表单或其他任何内容。