Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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/1/asp.net/33.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# 在一个视图中,两个具有相同名称、值对的ViewBag是否将0值返回给控制器?_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 在一个视图中,两个具有相同名称、值对的ViewBag是否将0值返回给控制器?

C# 在一个视图中,两个具有相同名称、值对的ViewBag是否将0值返回给控制器?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有两个ViewBag,我正在使用Dropdownlist绑定。这两个ViewBag具有相同的名称、值对。当我发回表单并使用模型检索数据时,模型中的值为0。我有两个div,我想一次提交一个,因为我正在使用Is Cloud累加器选择div?复选框。有什么问题 [HttpGet] public ActionResult CreateNewTotalizerTag() { //This is RawTag List var

我有两个ViewBag,我正在使用Dropdownlist绑定。这两个ViewBag具有相同的名称、值对。当我发回表单并使用模型检索数据时,模型中的值为0。我有两个div,我想一次提交一个,因为我正在使用Is Cloud累加器选择div?复选框。有什么问题

[HttpGet]
        public ActionResult CreateNewTotalizerTag()
        {
            //This is RawTag List
            var RawTaglist1 = cRTu.RawTagsList();
            ViewBag.RawTaglist1 = new SelectList(RawTaglist1, "Real_Tag_Id", "R_Tag_Name");

            //This is RawTag List
            var RawTaglist2 = cRTu.RawTagsList();
            ViewBag.RawTaglist2 = new SelectList(RawTaglist2, "Real_Tag_Id", "R_Tag_Name");


            return View();
        }
[HttpPost]
public ActionResult CreateNewTotalizerTag(RawTagVM rawTagVM)
        {


            //This is RawTag List
            var RawTaglist1 = cRTu.RawTagsList();
            ViewBag.RawTaglist1 = new SelectList(RawTaglist1, "Real_Tag_Id", "R_Tag_Name");

            //This is RawTag List
            var RawTaglist2 = cRTu.RawTagsList();
            ViewBag.RawTaglist2 = new SelectList(RawTaglist2, "Real_Tag_Id", "R_Tag_Name");

                return RedirectToAction("TotalizerTagsList");
}
//View
@using (Html.BeginForm("CreateNewTotalizerTag", "TotalizerTags", FormMethod.Post))
{
    @Html.HiddenFor(x=>x.Real_Tag_Id)
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-3">
            </div>
            <div class="col-md-6">
                <!-- general form elements disabled -->
                <div class="card card-warning">
                    <div class="card-header" style="background-color:#343a40">
                        <h3 class="card-title" style="color:white">Create Totalizer Tag</h3>
                    </div>
                    <!-- This form is to create Raw tag totalizer onPrem or onCloud -->
                    <div class="card-body">
                        <form role="form">
                            <div class="row">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <div class="custom-control custom-switch">

                                            @Html.CheckBoxFor(m => m.Is_Cloud_Totalizer, new { @class = "custom-control-input", id = "Is_Cloud_Totalizer" })
                                            <label class="custom-control-label" for="Is_Cloud_Totalizer">Is Cloud Totalizer?</label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!-- On Cloud Inputs starts here -->
                            <div  id="oncloud_totalizer" style="display:none">
                                <div class="row">
                                    <div class="col-sm-6">
                                        <div class="form-group">
                                            <label>Enter Tag Name</label>
                                            @Html.EditorFor(m => m.R_Tag_Name, new { htmlAttributes = new { @class = "form-control" } })
                                            @*@Html.ValidationMessageFor(model => model.R_Tag_Name, "", new { @class = "text-danger" })*@
                                        </div>
                                    </div>
                                    <div class="col-sm-6">
                                        <div class="form-group">
                                            <label>Select Raw Tag</label>
                                            @Html.DropDownListFor(m => m.Real_Tag_Id_Cloud, (IEnumerable<SelectListItem>)ViewBag.RawTaglist1, "Select Raw Tag", new { @class = "form-control", id = "Raw_Tag_List1",name="Raw_Tag_List1" })

                                        </div>
                                    </div>
                                </div>
                            </div>

                            <!-- On Prem Inputs starts here -->

                            <div class="row" id="onPrem_totalizer">
                                <div class="col-sm-6">
                                    <div class="form-group">
                                        <label>Select Raw Tag</label>
                                        @Html.DropDownListFor(m => m.Real_Tag_Id, (IEnumerable<SelectListItem>)ViewBag.RawTaglist2, "Select Raw Tag", new { @class = "form-control", id = "Raw_Tag_List2",name="Raw_Tag_List2" })

                                    </div>
                                </div>
                            </div>
                            <div class="form-group">
                                <center><button type="submit" id="submit" class="btn btn-primary">Create Totalizer</button></center>
                            </div>
                        </form>
                    </div>
                    <!-- /.card-body -->
                </div>
                <!-- /.card -->
                <!-- general form elements disabled -->
                <!-- /.card -->
            </div>
        </div>
    </div>
}
<script>
    $(document).ready(function () {

        // Initialize select2
        //$("#Raw_Tag_List1").select2();
        //$("#Raw_Tag_List2").select2();



        //$("#Source_Tag_List").select2();

        $("#Is_Cloud_Totalizer").change(function () {
            if (this.checked) {
                $("#oncloud_totalizer").show();
                $("#onPrem_totalizer").hide();
            }
            else {
                $("#onPrem_totalizer").show();
               $("#oncloud_totalizer").hide();
            }
        });
    });
</script>
[HttpGet]
公共行动结果CreateNewTotalizerTag()
{
//这是原始标签列表
var RawTaglist1=cRTu.RawTagsList();
ViewBag.RawTaglist1=新的选择列表(RawTaglist1,“真实标签Id”,“R标签名称”);
//这是原始标签列表
var RawTaglist2=cRTu.RawTagsList();
ViewBag.RawTaglist2=新的选择列表(RawTaglist2,“真实标签Id”,“R标签名称”);
返回视图();
}
[HttpPost]
公共操作结果CreateNewTotalizerTag(RawTagVM RawTagVM)
{
//这是原始标签列表
var RawTaglist1=cRTu.RawTagsList();
ViewBag.RawTaglist1=新的选择列表(RawTaglist1,“真实标签Id”,“R标签名称”);
//这是原始标签列表
var RawTaglist2=cRTu.RawTagsList();
ViewBag.RawTaglist2=新的选择列表(RawTaglist2,“真实标签Id”,“R标签名称”);
返回重定向到操作(“TotalizerTagsList”);
}
//看法
@使用(Html.BeginForm(“CreateNewTotalizerTag”、“TotalizerTags”、FormMethod.Post))
{
@Html.HiddenFor(x=>x.Real\u Tag\u Id)
创建累加器标记
@CheckBoxFor(m=>m.Is_Cloud_累加器,新的{@class=“custom control input”,id=“Is_Cloud_累加器”})
是云累加器吗?
输入标记名
@EditorFor(m=>m.R_Tag_Name,new{htmlAttributes=new{@class=“form control”})
@*@Html.ValidationMessageFor(model=>model.R_Tag_Name,“,new{@class=“text danger”})*@
选择原始标记
@Html.DropDownListFor(m=>m.Real\u Tag\u Id\u Cloud,(IEnumerable)ViewBag.RawTaglist1,“选择原始标记”,新建{@class=“form control”,Id=“Raw\u Tag\u List1”,name=“Raw\u Tag\u List1”})
选择原始标记
@Html.DropDownListFor(m=>m.Real_Tag_Id,(IEnumerable)ViewBag.RawTaglist2,“选择原始标记”,新建{@class=“form control”,Id=“Raw_Tag_List2”,name=“Raw_Tag_List2”})
创建累加器
}
$(文档).ready(函数(){
//初始化select2
//$(“原始标签列表1”)。选择2();
//$(“原始标签列表2”)。选择2();
//$(“源标记列表”)。选择2();
$(“#是_云_积算器”)。更改(函数(){
如果(选中此项){
$(“#oncloud_累加器”).show();
$(“#onPrem_累加器”).hide();
}
否则{
$(“#onPrem_累加器”).show();
$(“#oncloud_累加器”).hide();
}
});
});

如果您随后执行
重定向操作(或任何类型的重定向),则在
视图包中放入任何内容都没有意义

ViewBag
用于控制器将数据传递到自己的视图。将响应发送到浏览器后,
ViewBag
将丢失,并在下一次请求时创建一个新的响应

重定向将向浏览器发送响应,告知其请求所选端点


因此,在返回重定向之前设置的任何
ViewBag
数据都将丢失。

重定向之后,我不需要ViewBag。我的问题是,我正在将dropdownlist绑定到模型,但模型中的值为0。那么,为什么此时将数据放入
ViewBag
?如果问题不在
CreateNewTotalizerTag
中,则不显示代码-它仅显示ditratcs。另外,请指明要显示的视图的名称。ViewBag.RawTaglist1和另一个是ViewBag.RawTaglist2都与视图页面中的下拉列表绑定。但当我选择其中任何一个并提交表单时,它会返回o作为一个值。您没有显示该代码。提交表单后,您不会在服务器上显示任何读取表单的尝试。如果正在填充下拉选项(正如您所暗示的),那么问题与
ViewBag