C# 如何将参数传递给控制器函数
我有一个这样的表格:C# 如何将参数传递给控制器函数,c#,jquery,razor,model-view-controller,C#,Jquery,Razor,Model View Controller,我有一个这样的表格: @using (Html.BeginUmbracoForm<DataController>("SetYear", null, new { @id = "yearDropdown" })) { <div class="form-group"> <select id="Year" name="Year" class="form-control"> @if (objModel.Annums !=
@using (Html.BeginUmbracoForm<DataController>("SetYear", null, new { @id = "yearDropdown" }))
{
<div class="form-group">
<select id="Year" name="Year" class="form-control">
@if (objModel.Annums != null)
{
foreach (Int32 intYear in objModel.Annums.OrderByDescending(x => x).ToList())
{
<option
@if (intYear == DateTime.Now.Year)
{
<text>selected</text>
}
value="@intYear">
@intYear
</option>
}
}
</div>
</div>
}
public void SetYear (Int32 intYear)
{
System.Web.HttpContext.Current.Session["Year"] = intYear;
}
我要做的是将年份
传递给控制器中的函数,如下所示:
@using (Html.BeginUmbracoForm<DataController>("SetYear", null, new { @id = "yearDropdown" }))
{
<div class="form-group">
<select id="Year" name="Year" class="form-control">
@if (objModel.Annums != null)
{
foreach (Int32 intYear in objModel.Annums.OrderByDescending(x => x).ToList())
{
<option
@if (intYear == DateTime.Now.Year)
{
<text>selected</text>
}
value="@intYear">
@intYear
</option>
}
}
</div>
</div>
}
public void SetYear (Int32 intYear)
{
System.Web.HttpContext.Current.Session["Year"] = intYear;
}
这可以用C完成吗?或者我必须在表单URL上附加一个
查询字符串。控制器中的方法应该是一个动作,并且应该返回一个动作结果:
[HttpPost]
public ActionResult SetYear (Int32 intYear)
{
System.Web.HttpContext.Current.Session["Year"] = intYear;
return View();
}
此外,Select
元素名称必须与操作方法的参数名称匹配(intYear
):
@使用(Html.BeginUmbracoForm(“SetYear”,null,new{@id=“yearDropdown”}))
{
@if(objModel.Annums!=null)
{
foreach(objModel.Annums.OrderByDescending(x=>x.ToList()中的Int32 intYear)
{
@新年
}
}
}
我想这与元素名称有关,谢谢你的帮助!