我认为这对某些客户来说并不起作用,但它确实适用于其他客户。最终(我相信)我已经通过更现代的浏览器跟踪了这个问题。
这个项目必须使用IE,并且出于传统原因,该客户必须使用ie 8,所以请不要将其转换为浏览器讨论。
问题在于;
@Html.HiddenFor(x => x.CustomerPresent, new { @name = "CustomerPresent" })
切换值的JavaScript工作(通过检查html检查)。
但是当提交表单时,即使在页面上设置为true,我总是会为隐藏字段获取false值。
然后我删除了html帮助器,并将其替换为;
<input type="hidden" name="CustomerPresent" id="CustomerPresent" value=@Model.CustomerPresent />
同样,当表单被回发时,CustomerPresent字段为false,即使它在页面上设置为true。
对于一个客户来说这只是一个问题,但它们是一个很大的问题,所以如何创建一个工作轮来解决这个问题。
[更新] 使用开发工具,我已经看到请求不包含ie8的&amp; CustomerPresent =,但它存在于ie11。
[更新]按要求添加了js
function signNow(customerPresent) {
document.getElementById('CustomerPresent').value = customerPresent;
}
并且按钮调用是;
<button id="signButtonNotPresent" onclick="signNow('false');return false;" class="btn btn-large btn-primary pull-right" style="margin-bottom:10px;" type="button">Customer Not Present</button>
<button id="signButton" onclick="signNow('true');return false;" class="btn btn-large btn-primary pull-right" type="button">Customer Is Present</button>