【问题标题】:ASP.net MVC Form - field for each model propertiesASP.net MVC Form - 每个模型属性的字段
【发布时间】:2014-06-06 17:13:21
【问题描述】:

我有一个带有配置视图的 ASP.NET MVC 网站。

我有一个带有字符串和布尔属性的“配置”类

在视图中,我想为我的配置类的每个属性显示一个标签 + 字段。字符串的“文本框”,布尔的复选框。

但是,在我的“提交”按钮中,我需要在 JavaScript 方法中使用输入的值...

最好的方法是什么?

我有:

@using (Html.BeginForm())
{
  foreach (var property in ViewData.ModelMetadata.Properties)
    {
       <label>@(property.DisplayName??property.PropertyName)</label>
        @Html.EditorFor(x => property.PropertyName)
     }
}

但是如何显示布尔属性的复选框?

然后如何获取 JavaScript 中的所有值

【问题讨论】:

    标签: asp.net-mvc forms


    【解决方案1】:

    您可以在表单中使用 Ajax.BeginForm 并收集您的数据 通过 ( FormCollection ) 在您的 [Post] 方法中 您的所有元素及其值都将被获取

    • 更新

    例子:-

    [HttpPost]
    public JsonResult Save(FormCollection fc)
    {
          //TO DO Something
    }
    

    在你看来会是这样的

    @using (Ajax.BeginForm("Save", "ControllerName", new AjaxOptions))
    
    {
    

    这将非常有助于将您的数据保存在服务器端 以及关于如何使用 Javascrip 获取值 你可以定义 var 来保存你的选择器

    【讨论】:

    • 谢谢。你有一个例子吗?首先,我使用我的“配置”类作为模型。然后我使用“@using (Ajax.BeginForm())”。我必须在 ajaxOptions 参数中添加什么?然后,我需要循环进入我的所有“配置”属性并显示正确的字段(文本框或复选框)。那么,如何在我的 JavaScript 方法中获取值?
    • 我更新了看看可能对@你的问题有帮助
    • 谢谢!它有助于。我是一个初学者,它是我创建的第一个 ASP.NET mvc 表单......那么,我必须在“TO DO Something”中做什么才能使用表单值并返回一个 Json 对象?也许,你知道如何循环进入我的模型属性并显示正确的字段类型(字符串的 texbbox,bool 的复选框,..)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多