gpt4 book ai didi

Django 在 ASP.NET MVC 中形成类比

转载 作者:行者123 更新时间:2023-12-04 06:50:33 25 4
gpt4 key购买 nike

ASP.NET MVC 2 中是否有任何类似于 Django 表单( http://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs )的模拟?

最佳答案

我已经列出了您提供的链接上列出的“主要主题”......

1 - Display an HTML form with automatically generated form widgets.



在 ASP.NET MVC 中,您可以使用 Html.EditorFor(Model) 自动生成整个表单。您可以将属性添加到模型中,用于您不想搭建的任何数据项。

这将生成一个完整的表单,其中包含每个属性的字段。
<%= Html.EditorFor(m => m) %>

或者您可以在个别属性上使用它
<%= Html.EditorFor(m => m.FirstName) %>

或者你可以告诉它你想要什么元素
<%= Html.TextBoxFor(m => m.FirstName) %>

2 - Check submitted data against a set of validation rules.



有很多方法可以验证 ASP.NET MVC 中的数据。您可以添加属性以使模型上的项目成为强制性的,或者确保它们的值在一个范围内等。在 MVC 3 中,您还可以实现一个“IValidatable”接口(interface),该接口(interface)将添加一个“Validate()”方法到您的对象,您可以添加自己的自定义规则。

3 - Redisplay a form in the case of validation errors.



这是开箱即用的 MVC,您应该发回同一页面。它将自动将 CSS 类添加到未通过验证的项目,并将填充和验证占位符/验证摘要。
<%= Html.TextBoxFor(m => m.FirstName) %>
<%= Html.ValidationMessageFor(m => m.Firstname) %>

4 - Convert submitted form data to the relevant Python data types.



同样,这是开箱即用的东西。如果您将表单发布到操作,MVC 会将数据获取到您的模型中。
[HttpPost]
public ActionResult Edit(CustomerModel model) {
// model will automatically populated from the form post...

// Any validation attributes you placed on the model and
// any "natural" validation issues will already have been
// checked (i.e. someone typing "A" into a field that is an int
// on your model
if (ModelState.IsValid) {
_myRepository.Save(model);
return RedirectToAction("Detail", new { id = model.Id });
}

// If validation has failed, you can just return the view again
// so the user can correct the errors
return View(model);
}

关于Django 在 ASP.NET MVC 中形成类比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3178490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com