加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 减去两个ViewBag值

发布时间:2020-12-16 01:28:45 所属栏目:百科 来源:网络整理
导读:不确定这是否是正确的方法.但是,我在视图中有两个文本框,由控制器中的Viewbag填充.它们是int值.一个值是库存单位数(Viewbag.stock),另一个是订购单位数(Viewbag.ordered).我有第三个文本框,我想显示Viewbag.Stock的值 – Viewbag.Ordered. 我尝试在控制器中
不确定这是否是正确的方法.但是,我在视图中有两个文本框,由控制器中的Viewbag填充.它们是int值.一个值是库存单位数(Viewbag.stock),另一个是订购单位数(Viewbag.ordered).我有第三个文本框,我想显示Viewbag.Stock的值 – Viewbag.Ordered.

我尝试在控制器中执行此操作,但这并没有带来结果.我也试过在文本框的值中这样做,这也没有用.

这是我尝试完成此任务的第一种方式

模型

public int? OnHand { get; set; }
        public int? UnitsOrdered { get; set; }

调节器

ViewBag.Stock = r.FirstOrDefault().OnHand;
        ViewBag.Ordered = r.FirstOrDefault().UnitsOrdered;
        ViewBag.Total = ViewBag.Stock - ViewBag.Ordered;

视图

<div class="form-group">
        @Html.LabelFor(model => model.UnitsOrdered,(string)"Units On Hand ",htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">              
            @Html.TextBox("OnHand",null,new { @class = "form-control",Value = ViewBag.Stock,@readonly = "readonly" })
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.UnitsOrdered,(string)"Number of Units Ordered",htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.UnitsOrdered,new { htmlAttributes = new { @class = "form-control",@readonly = "readonly" } })
            @ViewBag.MyCountIntro @ViewBag.MyCount
            @Html.ValidationMessageFor(model => model.UnitsOrdered,"",new { @class = "text-danger" })

        </div>
    </div>

            <div class="col-md-10">
            @Html.TextBox("Remaining",Value = ViewBag.Total,@readonly = "readonly" })
            </div>

在上面的场景中,Viewbag.Stock是60.Viewbag.Ordered是2.Viewbag.Total应该是58.但相反,它是空白

我也尝试在视图中计算它本身.这也产生了空白.

<div class="col-md-10">
            @Html.TextBox("Remaining",Value = ViewBag.Stock - Viewbag.Ordered,@readonly = "readonly" })
        </div>

解决方法

ViewBag本身会将值视为对象.在进行计算之前,您应该将该对象强制转换为适当的类型.

ViewBag.Total =(int)ViewBag.Stock – (int)ViewBag.Ordered;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读