从选项中获取多个值以分配给Request.Form []

时间:2017-09-07 11:54:16

标签: html asp.net razor umbraco html-select

我需要存储用户在SQL数据库中选择的选项的名称和ID。现在我只存储Id,通过将选项的值设置为迭代中的当前Id。

@foreach (var item in selection)
{
     if (item.Id.ToString() == contentId)
     {
         //dont mind this, just for displaying purposes         
     }
     else
     {
        <option value="@item.Id" @(Request.Form["førstePrio"] != null && Request.Form["førstePrio"].ToString().Equals(item.Name.ToString()) ? " selected" : "")>@item.Name</option>
     }
 }

如何将@ item.Name值存储在单独的Request.Form中?

编辑:

@{
   var selection = Model.Content.Site().FirstChild("Sprog").FirstChild("sommerhuse").Children()
   .Where(x => x.IsVisible());
}

1 个答案:

答案 0 :(得分:0)

目前,item.id是选择的值。

此时您实际想要在表面控制器上接收的内容是项目/模型本身

这里有一个这样的控制器的例子;

https://our.umbraco.org/documentation/Reference/Templating/Mvc/forms#creating-the-surfacecontroller-action

所以你想将整个对象发布到这个控制器。从那里,您将能够从模型中获得所需的任何属性,以便将它们保存到数据库中。

这就像是

<option value="@item" @(Request.Form["førstePrio"] != null && Request.Form["førstePrio"].ToString().Equals(item.Name.ToString()) ? " selected" : "")>@item.Name</option>