C# If Else with <>

问题描述 投票:1回答:1

我有一个MVC5库存应用程序,允许用户订购用品。 视图向用户显示了他们希望订购的物品的当前 "库存"。 他们手动输入他们想要订购的数量。

我想做的是阻止他们提交视图,如果要求订购的数量大于手头的库存数量。

我首先尝试用jscript来处理这个问题,结果成功了,但帖子还是会被触发,所以它警告用户这个问题,但还是发了帖子。 这不是我所需要的。

然后我试着在控制器中进行处理。

这是我认为的相关代码

<div class="form-group">
@Html.Label("Units OnHand:", new { @class = "form-control" })
@Html.TextBox("OnHand", null, new { @class = "form-control", id = "OnHand", @readonly = "readonly" })
</div>

<!-- End Units OnHand-->

<!-- Begin Units Ordered-->
<div class="form-group">
@Html.Label("Qty of Units Ordered:", new { @class = "form-control" })
@Html.TextBox("UnitsOrdered", null, new { @class = "form-control", Value = ViewBag.Ordered, id = "UnitsOrdered", onblur = "stopit()"  })
</div>
 <input type="submit" id="addit" value="Add Supply To Request" class="btn btn-default" onclick="addSuppliesnow()" />

如你所见,我试着启动onblur = "stopit()",但没有成功,因为它只有在页面上的下一次点击后才会启动。 而在这个例子中,唯一的其他点击是提交按钮。 所以它正确地发射并警告用户,但随后还是提交了。

然后我尝试在控制器中做事情。 我从视图中传递了两个值(int OnHand, int UnitsOrdered)。

int Ordered = UnitsOrdered;
int Onhand = UnitsOnHand;

if (Ordered > Onhand)

{
   return new EmptyResult();

}

else
{
     (save the data as usual . . . . code here)
}

在上述情况下,每次都无法提交。 即使订购金额实际上小于手头的金额。 无论怎样,我似乎都无法点击 "其他 "部分。

我到底做错了什么? 有没有更好的方法来获得我需要的结果?

c# asp.net-mvc-5
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.