C# 从razor文件传递枚举值
我有一个myfile.cs文件和myview.cshtml文件。枚举在myfile.cs文件中声明。它们显示在myview.cshtml中,但这些值必须转到General.js文件,然后使用.post方法从那里转到另一个PerformSave.cs文件 所以我想传入int值。例如,我想通过法国的PerformSave1。你知道我该怎么做吗C# 从razor文件传递枚举值,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有一个myfile.cs文件和myview.cshtml文件。枚举在myfile.cs文件中声明。它们显示在myview.cshtml中,但这些值必须转到General.js文件,然后使用.post方法从那里转到另一个PerformSave.cs文件 所以我想传入int值。例如,我想通过法国的PerformSave1。你知道我该怎么做吗 myfile.cs namespace mynamespace.Models { public enum country { England, //
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) {
}
}
我想你在某个地方有一个下拉列表,你可以从中选择国家。将字符串从Country转换为CountryEnum,然后再转换回int 从字符串到枚举:
var country = (CountryEnum) Enum.Parse( typeof(CountryEnum), "France", true );
从枚举到Int:
var value = (int) country;
现在,该值的国家ID将不清楚您想要做什么。如何呈现属性CustCountry的控件?您要发回的控制器方法是什么。注意@Model.CustCountry将发回原始值,而不是视图中已修改的值。