您好,这是我的详细信息 View ,其中有一个输入。单击按钮时,我想比较带有 txbNumber 的文本框的值是否大于我的模型的属性 Quantity -> 但它给了我语法错误。
OnlineStore.Commercial.Models.CategoryProductDetailsViewModel
@{
ViewBag.Title = "Details";
}
<script src="/Scripts/dist/libs/jquery.js"
type="text/javascript"></script>
<table>
<tr>
<td>@Model.bigImageTitle</td>
<td>@Model.Title</td>
<td>@Model.ShortDescription</td>
<td>@Model.Description</td>
<td>@Model.Price</td>
</tr>
</table>
<label>Quantity:</label>
<input type="text" id="txbNumber" />
<input type="button" onclick="validate()" />
<script>
function validate()
{
var regex = /[0-9]|\./;
if (regex.test($("#txbNumber").val()))
{
var orderquantity=$("#txbNumber").val();
if ( @int.Parse(orderquantity) > @Model.Quantity)
{
/*here is the exception
}
}
}
</script>
最佳答案
将 Razor 语法与 Javascript 混合在一起(一个在响应从服务器发送到客户端之前执行,另一个在客户端完全执行)。
而不是:
if ( @int.Parse(orderquantity) > @Model.Quantity)
您应该使用全局 javascript 解析方法将字符串转换为整数:
if ( parseInt(orderquantity) > @Model.Quantity)
关于javascript - 将文本框值与模型属性 mvc 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21781889/