没有数据库的MVC Web表单

时间:2016-09-21 23:28:25

标签: asp.net-mvc vb.net email

我正在修改我以前在代码隐藏中使用带有VB的ASP.net构建的网站到使用VB的MVC,以便它对不同的屏幕尺寸和设备类型更具响应性。

到目前为止,我已经能够复制六个页面以及Site.Master文件。现在我将注意力转向联系页面,该页面在asp.net中从表单中获取数据,验证它是否完成和数据类型合规性,然后将其传递给使用它生成电子邮件的代码隐藏。

我已经做了很多阅读,建议使用模型,但我发现的所有示例都使用该模型来使用LINQ填充或查询数据库。

如果没有数据库,我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

MVC中的M代表Model,而不是Mdatabase。您可以使用任何您想要的模型。大多数应用程序使用数据库,大多数.NET应用程序使用EF来访问数据库(或者至少微软希望这样做)但你可以使用你想要的任何东西。

答案 1 :(得分:0)

建议使用数据库引擎作为永久存储,但基本上您可以为联系页面创建模型类,而不涉及这样的数据库:

public class Contact
{
     [Required]
     public String Name { get; set; }

     [Required]
     public String EmailAddress { get; set; }
}

在将模型类包装到集合(例如List)之后,您可以使用LINQ / lambda表达式,例如:

var list = new List<Contact>();
list.Add(new Contact { ... }); // adding items to the list 

// Lambda syntax
var name = list.Select(x => x.Name); // returns a value from the list

// LINQ syntax
var email = (from item in list 
             select item.EmailAddress);

然后,您可以将代码隐藏逻辑转换为控制器操作方法,每个用于GET和POST请求ActionResult。之后,数据提交后RedirectRedirectToAction或简称return View()可用于页面处理。

关于使用不同屏幕尺寸和设备类型的响应式页面设计,MVC本身并非设计为默认显示响应式布局。你需要改变一些HTML&amp;与CSS相关的属性,类似于此处的问题:

How to make an MVC web application adjust to automatically fit different screen sizes

注意:由于您的问题并未包含任何代码,因此提供的代码只是示例所示。