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# 是否可以从动态附加的html向控制器传递id?_C#_Asp.net Mvc - Fatal编程技术网

C# 是否可以从动态附加的html向控制器传递id?

C# 是否可以从动态附加的html向控制器传递id?,c#,asp.net-mvc,C#,Asp.net Mvc,我写了一些js,用特定id附加html: document.querySelector("#period").addEventListener("change", function () { var selectedOptionValue = this.options[this.selectedIndex].value; var closestElement = this.closest('th'); if (selec

我写了一些js,用特定id附加html:

document.querySelector("#period").addEventListener("change", function () {

    var selectedOptionValue = this.options[this.selectedIndex].value;
    var closestElement = this.closest('th');

   
    if (selectedOptionValue == 'Invoices') {

        $("<div id='date1'>Date from: <input class='form-control datepicker' id='dateFrom' name='dateFrom' type='date' value=''></div>").appendTo(closestElement);
        $("<div id='date2'>Date to: <input class='form-control datepicker' id='dateTo' name='dateTo' type='date' value=''></div>").appendTo(closestElement);

    } else {

        var dateFrom = document.querySelector('#date1');
        var dateTo = document.querySelector('#date2');
        dateFrom.remove();
        dateTo.remove();
    }
});
不幸的是,总是传递空值。是否可以从动态插入的html向控制器传递id

编辑:我在下面添加了视图代码,其中显示了我如何向控制器提交id:

 @using (Html.BeginForm("XYZ", "Home", FormMethod.Get))
        {
            <th>
                @Html.DropDownList("period", new List<SelectListItem>
               {
                    new SelectListItem { Text="Today", Value="Today"},
                    new SelectListItem { Text="LastMonth",Value="LastMonth"}, "Choose period"})

                <button type="submit" class="szukaj"><i class="fa fa-search"></i></button>
</th>
//...more code here
@使用(Html.BeginForm(“XYZ”,“Home”,FormMethod.Get))
{
@Html.DropDownList(“period”),新列表
{
新建SelectListItem{Text=“Today”,Value=“Today”},
新建SelectListItem{Text=“LastMonth”,Value=“LastMonth”},“选择时段”})
//…这里有更多代码

我将日期输入附加到,以便将其ID提交给控制器。或者可能我做错了什么?

在提交时,HTML代码是否是动态添加的并不重要。问题是,您使用什么方法将该值传递给控制器?好的,我添加了一些视图代码,请看一看。为什么不添加/删除这些字段不使用HTML帮助程序(如您使用下拉列表所做的那样)正常创建它们,而只是将它们隐藏,然后根据需要显示/隐藏它们?这将需要更少的代码,并且更易于维护。而且绑定的问题也可能更少
 @using (Html.BeginForm("XYZ", "Home", FormMethod.Get))
        {
            <th>
                @Html.DropDownList("period", new List<SelectListItem>
               {
                    new SelectListItem { Text="Today", Value="Today"},
                    new SelectListItem { Text="LastMonth",Value="LastMonth"}, "Choose period"})

                <button type="submit" class="szukaj"><i class="fa fa-search"></i></button>
</th>
//...more code here