Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将参数传递给控制器函数_C#_Jquery_Razor_Model View Controller - Fatal编程技术网

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)
{
@新年
}
}
}

我想这与元素名称有关,谢谢你的帮助!