枚举不能通过表达式引用类型



我有模型类:

namespace BazeProjekt.Models
{
    public class Radio
    {
        public enum and_or { OR, AND };
        public enum algoritam { fuzzy, normal };
    }
}

我的观点是:

@using Npgsql
@model BazeProjekt.Models.Radio
@{
    ViewBag.Title = "Search";
}
<div class="jumbotron">
    <h1>Full and fuzzy text search</h1>
</div>
<h2>Search:</h2>
@using (Html.BeginForm("Index", "Home"))
{
    @Html.TextBox("upit")
    <input type="submit" value="Traži" />
}
@Html.RadioButtonFor(x => x.and_or, "OR")
@Html.RadioButtonFor(x => x.and_or, "AND")
<h2>SQL:</h2>
@Html.TextArea("sql",(string)ViewBag.query,10,100,null)
@{
    NpgsqlDataReader dr = (NpgsqlDataReader)ViewBag.tablica;
}
@if (dr != null)
{
    int cnt = 0;
    while (dr.Read())
    {
        <p>@Html.Raw(dr[0]) - [@dr[1]]</p>
        cnt++;
    }
    <p>Broj pronađenih filmova je: @cnt</p>
}

我想有两个单选按钮,选项是OR和and,但编译器说它不能通过表达式引用类型。

错误1"and_or":无法通过表达式引用类型;尝试"BazeProjekt.Models.Radio.and_or",而不是c:\Users\TranceFusion\Documents\Visual Studio 2013\Projects\Baze Projekt\Views\Home\Index.chtml 20 29 Baze Projekt

您需要单独定义枚举,并在模型中包含该枚举的属性

public enum MyEnum
{
  OR,
  AND
}
public class Radio
{
  public MyEnum and_or { get; set; }
}

然后在视图中

@Html.RadioButtonFor(x => x.and_or, "OR")
@Html.RadioButtonFor(x => x.and_or, "AND")

最新更新