C# 将模型属性从Html表单发送到[HttpPost]控制器时出现问题

C# 将模型属性从Html表单发送到[HttpPost]控制器时出现问题,c#,jquery,.net,model-view-controller,C#,Jquery,.net,Model View Controller,我有一个像这样的html表单 @using (Html.BeginForm("_YariMamulEkle", "Home", FormMethod.Post, new {@id ="YariMamulKaydetForm" })) { <div class="row"> @Html.Label("Y

我有一个像这样的html表单

@using (Html.BeginForm("_YariMamulEkle", "Home", FormMethod.Post, new {@id ="YariMamulKaydetForm" }))
            {
                <div class="row">
                    @Html.Label("Yarı Mamul Stok Kodu", new {@class= "form-label"})
                </div>
                <div class=" row">

                    <select class=" form-select" id="chosenYariMamulStock">
                        <option selected disabled hidden>Seçiniz</option>
                        @foreach (var item in (List<YariMamulStock>)@ViewBag.seededYariMamuls)
                        {
                                <option value ="@item" data-foo="@item.YariMamulStockName"> @item.YariMamulStockCode</option>
                                
                        }
                    </select>
                </div>
                <div class="row">
                    @Html.Label("Stok Adı", new {@class = "form=label"})
                </div>
                <div class="row">
                    @Html.TextBoxFor(x =>x.YariMamulStockName, new {@id = "disableStockName", @class = "form-control", @disabled = "disabled"})
                </div>
                <div class="row">
                    @Html.Label("Yarı Mamul (Kg)", new {@class = "form-label"})
                </div>
                <div class="row">
                    @Html.TextBoxFor(x => x.YariMamulStockKg, new {@id = "yariMamulStockKg", @class= "form-control" })
                </div>
                <hr />
                <div class="row">
                    <button class="btn btn-success" id="YeniMamulKaydet" type="submit">Tamam</button>
                    <button class="btn" type="button">Iptal</button>
                </div>
                
            }
我正在尝试将值发送到此控制器

[HttpPost]
        public ActionResult _YariMamulEkle(YariMamulStock yariMamul)
        {

            TempYariMamulList.Add(yariMamul);
            ViewBag.YariMamulList = TempYariMamulList;

            foreach (var item in db.YariMamulStocks)
            {
                if (item.isSeeded == true)
                {
                    seededYariMamuls.Add(item);
                }
            }

            ViewBag.SeededYariMamuls = seededYariMamuls;

            return RedirectToAction("FormEkle");
我正在尝试发送这3个属性[YariMamulStockCodeYariMamulStockNameYariMamulStockKg]

public class YariMamulStock
    {
        [Key]
        public int Id { get; set; }

        public string YariMamulStockCode { get; set; }

        public string YariMamulStockName { get; set; }

        public int YariMamulStockKg { get; set; }

        public bool? isSeeded { get; set; }
    }
我可以发送[YariMamulStockKg]值,并可以在ActionResult Post模态参数中看到,但其他2个属性未显示

YariMamulStockCode属性是我们可以从selectlist中选择的,它发送空值

YariMamulStockName属性为,在jquery行中填充的属性发送空值

谢谢你的帮助

获取方法的操作

public ActionResult _YariMamulEkle()
        {

            ViewBag.YariMamulList = TempYariMamulList;

            foreach (var item in db.YariMamulStocks)
            {
                if (item.isSeeded == true)
                {
                    seededYariMamuls.Add(item);
                }
            }

            ViewBag.SeededYariMamuls = seededYariMamuls;


            return PartialView();
        }

Viewbag.seedyarimamuls中的数据是

List<YariMamulStock> seededYariMamuls = new List<YariMamulStock>();

new YariMamulStock{YariMamulStockCode = "132L.146S-1", YariMamulStockName = "Şeker",isSeeded =true},
                new YariMamulStock{YariMamulStockCode = "132L-2", YariMamulStockName = "Su", isSeeded=true},
                new YariMamulStock{YariMamulStockCode = "132L-3", YariMamulStockName = "Limon",isSeeded =true},
                new YariMamulStock{YariMamulStockCode = "146S-2", YariMamulStockName = "Kauçuk",isSeeded =true},
                new YariMamulStock{YariMamulStockCode = "146S-2", YariMamulStockName = "Mısır Özü",isSeeded =true},
List seedyarimamuls=new List();
新的YariMamulStockCode=“132L.146S-1”,YariMamulStockName=“Şeker”,isseeed=true},
新的YariMamulStockCode=“132L-2”,YariMamulStockName=“Su”,isseeed=true},
新的YariMamulStockCode=“132L-3”,YariMamulStockName=“Limon”,isseeed=true},
新的YariMamulStockCode=“146S-2”,YariMamulStockName=“Kauçuk”,isseeed=true},
新的YariMamulStockCode=“146S-2”,YariMamulStockName=“MısırÖzü”,isseeed=true},

好的,我解决了这个问题,在我想要回我的模型的属性中添加了一个name属性

<select name = "YariMamulStockCode">


这解决了[YariMamulStockName]问题

您能否显示此视图的Get操作。请?在这一页的末尾,我写下了get动作。这个动作是其他动作的局部视图@SergeThank,我也需要YariMamulStock类。我看不出您在哪里定义了seedyarimaull,它已经将该类放在Post操作和images@serge之间了,因为数据没有正确地呈现为html,如果您使用普通提交而不是ajax Post,浏览器将发送select控件的“value”字段,但是,您绑定了一个c#object实例(而不是字符串或其他基本类型),最好检查浏览器发送给服务器的提取数据是什么。
<select name = "YariMamulStockCode">
<option value = "YariMamulStockCode">
@Html.TextBoxFor(x => x.YariMamulStockName, new { @id = "disableStockName", @class = "form-control", @disabled= "disabled" })
@Html.TextBoxFor(x => x.YariMamulStockName, new { @id = "disableStockName", @class = "form-control", @readonly = "readonly" })