Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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# 如何从DropdownList向控制器发送所选文本_C#_Asp.net_.net_Asp.net Mvc_Model View Controller - Fatal编程技术网

C# 如何从DropdownList向控制器发送所选文本

C# 如何从DropdownList向控制器发送所选文本,c#,asp.net,.net,asp.net-mvc,model-view-controller,C#,Asp.net,.net,Asp.net Mvc,Model View Controller,我想在下拉列表中将选定的文本字段发送到控制器。 当我使用下面的代码时,我可以将id号发送给控制器,但是我在列表中选择的值传递空值 此外,如果模型中有注册值,我希望在打开页面时在dropdownlist中选择此字段 控制器 public ActionResult Degerlendir(int id ,string CV_STATU) { using (MULAKATDBEntities1 ent = new MULAKATDBEntities1())

我想在下拉列表中将选定的文本字段发送到控制器。 当我使用下面的代码时,我可以将id号发送给控制器,但是我在列表中选择的值传递空值

此外,如果模型中有注册值,我希望在打开页面时在dropdownlist中选择此字段

控制器

    public ActionResult Degerlendir(int id ,string CV_STATU)
        {
        using (MULAKATDBEntities1 ent = new MULAKATDBEntities1())
                    {
                        CvViewModel cv = new CvViewModel();
                        var entData = ent.CV.FirstOrDefault(a => a.ID_CV == id);
                        entData.CV_STATU = CV_STATU;
                        ent.SaveChanges();
                     } 
        }
鉴于

@using (Html.BeginForm("Degerlendir", "Home", FormMethod.Post))
{
<input type="hidden" name="id" value="@Model.Cv.ID_CV" />
 @Html.DropDownListFor(model => model.Cv.CV_STATU,
            new List<SelectListItem> {
            new SelectListItem() { Text = "Secilmedi" },
            new SelectListItem() { Text = "Kabul edildi" },
            new SelectListItem() { Text = "Reddedildi" } },
            new {@id="cv_statu", @class = "form-control" })
<input type="submit" id="btnSubmit" value="KAYDET" class="btn btn-add" />
 }
@使用(Html.BeginForm(“Degerlendir”,“Home”,FormMethod.Post))
{
@Html.DropDownListFor(model=>model.Cv.Cv_STATU,
新名单{
新建SelectListItem(){Text=“Secilmedi”},
新建SelectListItem(){Text=“Kabul edildi”},
新建SelectListItem(){Text=“rededildi”},
新的{@id=“cv_statu”,@class=“form control”})
}
在HTML帮助程序htmlAttributes中设置
@name=“cv_statu”
,以便像这样绑定到帖子上的参数


同时将控制器方法参数更改为小写
cv_statu
。只有通过URL路由传递的参数名不区分大小写。

我假设您在代码上为
ActionResult
共享的内容已经是
HttpPost
动作动词。还应该有一个适当的
HttpGet

要解决您的问题,请确保在DropDownListFor上设置的第一个参数与
Degerlendir

@Html.DropDownListFor(model => model.CV_STATU,
        new List<SelectListItem> {
        new SelectListItem() { Text = "Secilmedi", Value = "Secilmedi" },
        new SelectListItem() { Text = "Kabul edildi", Value = "Secilmedi" },
        new SelectListItem() { Text = "Reddedildi", Value = "Reddedildi", Selected = true} }, "Please select an option",
        new {@id="cv_statu", @class = "form-control" })
致:

因为您在这里设置的内容将在HTML上设置
name
属性。这将绑定在
Degerlendir
ActionResult
上的参数上,尤其是您的参数:

string CV_STATU

最后,我在您的
SelectListItem
上添加了
Value
,因为无论您在DropDownList上选择什么,它都会传递到您的ActionResult上。要设置默认的选定值,只需添加
selected=true

即可始终将
FormCollection formC
作为参数传入,然后可以在集合中循环查找要获取该值的控件(即下拉列表)。如果表单操作中有许多控件,这可能会很有帮助。我尝试过,但它再次传递null。您可以发布生成元素的html外观吗?还添加了有关将参数更改为小写以匹配回发的注释。我更改了如下代码:在控制器中:public ActionResult Degerlendir(int id,string cv_statu)视图:@Html.DropDownListFor(model=>model.cv.cv_statu,新列表{new SelectListItem(){Text=“Secilmedi”},new SelectListItem(){Text=“Kabul edildi”},new SelectListItem(){Text=“rededildi”},新的{@id=“cv_statu”,@class=“form control”,@name=“cv_statu”})如果在调试过程中更改了控制器,请确保已重新启动应用程序。如果该应用程序仍不工作,则需要在问题中添加该元素生成的html的外观,以便我们可以确切地看到您正在使用的内容。在不了解有关模型的任何更多信息的情况下,我假设
cvu STATU
为not直接是模型的属性,但它是属性的属性。我假设它不会编译。在OP帖子上,它是嵌套的,这就是为什么我简化它,使它不应该是Cv.Cv_STATU,而是Cv_STATU不是模型的直接属性,所以我不编译。我将selectlist更改为selection and option,然后它就工作了。但是ı知道selectlist项有什么问题吗。
@Html.DropDownListFor(model => model.CV_STATU
string CV_STATU