C# 将枚举传递给强类型局部视图
我有一个接收枚举的强类型局部视图:C# 将枚举传递给强类型局部视图,c#,asp.net-mvc,asp.net-mvc-3,partial-views,strong-typing,C#,Asp.net Mvc,Asp.net Mvc 3,Partial Views,Strong Typing,我有一个接收枚举的强类型局部视图: @model MyEnum @{ Layout = null } @if (Model == MyEnum.Value1) { //... dosomething } @if (Model == MyEnum.Value2) { //... do another thing } 我不能像这样恰当地称之为“渲染部分” @{ Html.RenderPartial("MyPartialView", MyEnum.Value2); } 有什
@model MyEnum
@{
Layout = null
}
@if (Model == MyEnum.Value1) {
//... dosomething
}
@if (Model == MyEnum.Value2) {
//... do another thing
}
我不能像这样恰当地称之为“渲染部分”
@{ Html.RenderPartial("MyPartialView", MyEnum.Value2); }
有什么想法吗?除了你缺少一个
在空布局分配之后,我看不到有什么阻止您这样做(正如我所说的,无法重新编程):
下面是一个完整的工作示例,说明这应该是可行的
型号:
public enum MyEnum
{
Value1,
Value2
}
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
Index.cshtml
查看:
<div>
@{ Html.RenderPartial("MyPartialView", MyEnum.Value2); }
</div>
结果HTML中的预期输出:
<div>Value 2 was selected</div>
已选择值2
@darin dimitrov好奇的是,在我的示例中它不起作用,因为我在布局中使用了RenderPartial。@k-dev,在本例中,请尝试指定分部的完整路径:
{Html.RenderPartial(~/Views/SomeController/MyPartialView.cshtml),MyEnum.Value2);
或尝试将其放入共享文件夹。
@model MyEnum
@{
Layout = null;
}
@if (Model == MyEnum.Value1) {
<div>Value 1 was selected</div>
}
@if (Model == MyEnum.Value2)
{
<div>Value 2 was selected</div>
}
<div>Value 2 was selected</div>