从剃刀文件传递枚举值

时间:2015-03-19 07:29:05

标签: c# asp.net-mvc razor

我有一个“myfile.cs”文件和“myview.cshtml”文件。枚举在“myfile.cs”文件中声明。它们显示在“myview.cshtml”中,但是这些值必须使用.post方法转到“General.js”文件并从那里转到另一个“PerformSave.cs”文件。

所以我想传入int值。例如,我想通过PerformSave(1)为“法国”。任何想法我该怎么做?

myfile.cs
namespace mynamespace.Models
{
public enum country
{
   England,  // 0
   France,   // 1
   Germany   // 2
 }

 public country CustCountry { get; set; }
 ...

 }

my.cshtml
<button id="Save" class="button">Save</button><br>
<script>
      $("#Save").click(function () {
      PerformSave(@Model.CustCountry);
      }
</script>

general.js
PerformSave: function (country) {
  $.post(URL , { country },function (data,status, xhr) {

  }
}

1 个答案:

答案 0 :(得分:0)

我想某个地方你有一个下拉列表,您可以从中选择国家/地区。拥有来自Country的String,将其强制转换为CountryEnum,然后再转回int。

从字符串到枚举:

var country = (CountryEnum) Enum.Parse( typeof(CountryEnum), "France", true );

从Enum到Int:

var value = (int) country;

现在,值将具有国家/地区的ID