Asp.net mvc MVC(MVC3)检查模型是否存在或具有值
我已经创建了一个工作dropdownlist,它从选择列表Model.IssueSocialSec获取数据,然后将来自数据库的值设置为Model.SocialDBValue 但是,当我单击一个编辑链接时,查询库会将模型传递回页面,这是可行的,但是如果我执行了到页面的所需重定向路由,并且没有绑定模型的内容,那么页面就会失败。我将尝试让它传回一个空模型,但我想我会发布这个,因为我总是喜欢听到关于“最佳实践”和经验教训的反馈Asp.net mvc MVC(MVC3)检查模型是否存在或具有值,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Routing,我已经创建了一个工作dropdownlist,它从选择列表Model.IssueSocialSec获取数据,然后将来自数据库的值设置为Model.SocialDBValue 但是,当我单击一个编辑链接时,查询库会将模型传递回页面,这是可行的,但是如果我执行了到页面的所需重定向路由,并且没有绑定模型的内容,那么页面就会失败。我将尝试让它传回一个空模型,但我想我会发布这个,因为我总是喜欢听到关于“最佳实践”和经验教训的反馈 @Html.DropDownListFor(m => m.Selec
@Html.DropDownListFor(m => m.SelectedSocial, new SelectList(Model.IssueSocialSec, "Value", "Text", Model.SocialDBValue), "")
听起来您只需要将
DropDownListFor
包装在
中,并使用指向允许您编辑的操作的url。如果表单是幂等运算,则可以使用GET
请求,并且当
的值更改时,可以使用JavaScript提交表单,当禁用JavaScript时,返回到呈现提交按钮
一般来说,我构造MVC控制器和动作
public class ProfilesController : Controller
{
public IProfileRepository Profiles { get; private set; }
public ProfilesController(IProfilesRepository profiles)
{
Profiles = profiles;
}
[HttpGet]
public ActionResult Index()
{
var profiles = Profiles.All();
return View(new ProfilesModel { Profiles = profiles });
}
[HttpGet]
public ActionResult Edit(int id)
{
var profile = Profiles.GetById(id);
return View(new ProfileModel { Profile = profile });
}
[HttpPost]
public ActionResult Edit(ProfileModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var profile = Profiles.GetById(id);
// update the profile
Mapper.Map(model, profile);
if (Profiles.Update(profile))
{
TempData["message"] = "Profile updated successfully";
}
return RedirectToAction("Edit");
}
}
Index
将呈现所有配置文件。针对每个配置文件,使用一个或来了解他们的代码结构。我最终将其修复为:
ChildInfoModel childviewmodel = new ChildInfoModel();
return View(childviewmodel);
在我尝试这样做之前:
返回视图()
谢谢,我会调查一下。。。我一直发现所有的MVC解决方案都有不错的“片段”,但没有一个最终能给我真正想要的。这一点也不像是我想建造的房子的蓝图。我发现它就像一个谷仓或棚子的蓝图。我意识到他们并没有在构建我的应用程序,但我不是唯一一个感觉Nerbinent、MVC音乐商店、体育商店、Silk、ProDinner和其他应用程序没有太大帮助的开发人员。例如:这不是任何人使用的@EditorForModel()所有这些都会直接上下弹出所有模型信息。除非我遗漏了什么,这是一个快速的夫妻店无装饰页面。嗯,根据我的经验,即使是妈妈和爸爸想要的领域也在四处移动等等。。。让我想起了我读到的最新vs studio lightswitch评论,“…使简单的事情变得超级简单,而困难的事情几乎不可能”。。。对不起,这是样品,应该照原样拿。我发现理解框架的最好方法是通读源代码,设置断点,调试框架代码,并尝试每天了解一些新的内容。您可以指定自己的模板,以便@Html.EditorForModel()
使用模板进行标记。