服务器端和客户端MVC

时间:2015-08-04 11:59:26

标签: asp.net-mvc angularjs

我已经开始学习ASP.Net MVC,关于MVC framework [客户端或服务器端],我几乎没有问题。你可能会发现这些问题很愚蠢,但我真的很困惑,想清除我的怀疑。

这是......

  1. ASP.Net MVC,是服务器端还是客户端框架?

  2. 让我们说我的控制器方法从SQL Server获取数据,我将其转换为JSON并更新MVC view,在这种情况下

  3. 一个。它被称为客户端数据绑定还是服务器端绑定?

    B中。使用控制器方法从数据库中检索数据时,我是否将完整的HTML与响应中的数据或我请求的数据一起获取?

    1. ASP.Net中,假设我在按钮点击事件中在数据库中插入数据,如果我没有错,在这种情况下,它会将整个页面提交给服务器,按钮点击事件的工作原理在ASP.Net MVC

    2. 我还读过,我们可以Angular.JSknockout.JS使用ASP.Net MVC,如果我们使用Angular.JSknockout.JS将会解决的目的是什么它与ASP.Net MVC

    3. 此致

3 个答案:

答案 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)

  1. ASP.Net MVC是一个服务器端框架。 (另一种选择是ASP.Net WebForms:您的事件是同一页面的帖子,抽象为桌面应用程序事件。)

  2. 如果需要,您可以将数据输出为JSON或XML,并将其与客户端JavaScript框架一起使用以更新您的视图。

  3. ASP.Net MVC中没有按钮点击。所有数据都作为URL,GET或POST变量中的参数发送到服务器(事实上,WebForms也这样做)。您可以直接从Request中获取值,也可以使用MVC中的绑定将值作为操作参数获取。

  4. 这些框架用于在客户端构建视图。要使用它们,您必须主要从控制器输出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表单或其他任何内容。