c# - Asp.Net MVC 处理不属于模型的下拉框

标签 c# asp.net asp.net-mvc

我有一个用户必须填写的小表格,其中包含以下字段。

姓名(文字) 值(文本) 组(组 - 是从数据库表中提取的选项列表)

现在这个 View 的模型看起来像这样,

public string Name { get; set; }
public string Value { get; set; }
public int GroupID { get; set; }

现在 View 对上述模型是强类型的。

用什么方法填充下拉列表?由于数据不包含在模型中(它可能包含在模型中)我们应该使用临时/ View 数据吗? HTML 助手?实现这一目标的理想方式是什么。

最佳答案

我为此使用了一个 View 模型和一个包含所有属性的字典(我喜欢 mvc contrib 的选择框):

class LeViewModel {
    public string Name { get; set; }
    public string Value { get; set; }
    public int GroupID { get; set; }
    public Dictionary<string, string> Groups {get; set;}
}

那么在你看来你只需要做

<%: Html.Select(m => m.GroupId).Options(Model.Groups) %>

希望对您有所帮助。

关于c# - Asp.Net MVC 处理不属于模型的下拉框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2881215/

相关文章:

c# - 异步/等待调用不返回。强制同步确实

asp.net-mvc - RouteCollection.Ignore和RouteCollection.IgnoreRoute之间的区别?

asp.net-mvc - 从 Controller 重定向到经典 asp 页面时是否可以维护 url?

javascript - 我需要在输入时为数字添加逗号运算符并限制 2 个小数位

c# - Visual Studio 在解决方案资源管理器中向项目名称添加一个数字

c# - 以 json 格式而不是纯 html 从 aspx 页面获取响应

c# - 缺少 System.web.mvc

c# - 如何使用十进制?

c# - 如何强制 ScriptManager 通过 SSL 提供 CDN 脚本

c# - aspnet core 仅在发布时构建缓慢