在我的页面上,我有几个在运行时生成的框,如果框是“空”,我想进行验证,然后用户不能继续进行,如果框中包含一些值,那么用户可以继续
我的验证在JQuery的帮助下运行良好(下面添加)。但是,当我手动刷新页面时,ISSSUE现在正在工作,因此生成的框背后的原因是在“部分视图”中。所以现在我希望部分视图应该重新加载/刷新
下面是我添加的用于验证的JQuery:
<script>
$(document).ready (function () {
if ($('.type').length == $('.type:empty').length){
$("#stepAutomapConfirm").attr("disabled", true);
$("#stepAutomapConfirm").addClass("disabled").removeClass("active");
}
else {
$("#stepAutomapConfirm").attr("disabled", false);
$("#stepAutomapConfirm").addClass("active").removeClass("disabled");
}
});
</script>
以下是使用JQuery的小提琴: http://jsfiddle.net/aasthatuteja/xJtAV/ ,
注意:它在小提琴上工作但不在我的部分视图中 以下是动作控制器:
[LoggingAspect]
[HttpGet]
public ActionResult AutomapInformation(int medCenterId, string medCenterSerialNumber, string viewName)
{
ProvisioningStepDto provisioningStepDto = ProvisioningHubProxy.Instance.GetOrCreateProvisioningStep(medCenterId, medCenterSerialNumber, WizardStep.AutomapInformation);
AutomapInformationViewModel viewModel = null;
try
{
var vaultInfo = ProvisioningHubProxy.Instance.GetMedCenterVault(medCenterSerialNumber);
viewModel = new AutomapInformationViewModel
{
MedCenterId = medCenterId,
MedCenterSerialNumber = medCenterSerialNumber,
Step = WizardStep.AutomapInformation,
VaultInfo = vaultInfo
};
if (vaultInfo.Count != 0)
{
return PartialView(viewName, viewModel);
}
}
catch (Exception ex)
{
LogManager.Logger.Error(ex);
}
viewModel = new AutomapInformationViewModel
{
MedCenterId = medCenterId,
MedCenterSerialNumber = medCenterSerialNumber,
Step = WizardStep.AutomapInformation
};
return PartialView("StepErrorView", viewModel);
}
[HttpPost]
public ActionResult AutomapInformation(AutomapInformationViewModel viewModel)
{
LogManager.Logger.Info("ProvisioningController:AutomapInformation; [HttpPost] MedCenterId: ({0}), MedCenterSerialNumber: ({1})", viewModel.MedCenterId, viewModel.MedCenterSerialNumber);
ProvisioningStepDto provisioningStepDto = ProvisioningHubProxy.Instance.GetProvisioningStep(viewModel.MedCenterSerialNumber, viewModel.Step);
provisioningStepDto.ProvisionStepStatusId = (int)ProvisioningStepStatus.Complete;
provisioningStepDto.VerifiedBy = "set current user"; //TODO: set the current user once authentication has been figured out
ProvisioningHubProxy.Instance.UpdateProvisioningStep(provisioningStepDto, viewModel.MedCenterSerialNumber);
return GetNextStep(viewModel.MedCenterId, viewModel.MedCenterSerialNumber, viewModel.Step);
}
下面是单击“Automap”按钮生成表格的HTML标记:
<div id="vault_placeHolder">
@VaultRenderer.BuildVaultHtmlProvision(Model.VaultInfo, "MedCenterVault", 510, 850, 0.5)
</div>
<div role="button" class="marginTop50 marginBottom">
<input type="button" id="stepAutomap" value="Automap" class="active" />
<input type="button" id="stepAutomapBack" value="Back" class="active marginLeft50" />
<input type="button" id="stepAutomapConfirm" value="Confirm & Proceed" class="active marginLeft10" />
</div>
注意:我也尝试在点击按钮时添加我的JQuery功能,但它没有工作,因为还有刷新要求。我也尝试添加reload();在我的函数结束时使用了一些setTime(),但由于没有生成该时间范围内的“框”,这也没有帮助。
如果您需要任何其他信息,请与我们联系。
请建议!