gpt4 book ai didi

c# - 显示 div 以显示操作错误

转载 作者:行者123 更新时间:2023-12-01 08:23:08 26 4
gpt4 key购买 nike

每当执行操作时发生异常时,如何显示包含信息的 div?

这是我到目前为止所拥有的:

<div id="dvErrorMsg">
<a href="#" class="close">[x]</a>
<p>
<label id="errorMessage">
</label>
</p>
</div>

<script type="text/javascript">
$(function () {

$("#click_here").click(function (event) {
event.preventDefault();
$("#dvErrorMsg").slideToggle();
});

$("#dvErrorMsg a").click(function (event) {
event.preventDefault();
$("#dvErrorMsg").slideUp();
});
});
</script>

我的 Controller 中有这个操作:

public ActionResult Validatecall()
{
//if any exeption happen show div with the custom error
}

如何捕获任何异常并在 AJAX 响应中发回消息?

最佳答案

在这种情况下,您可以尝试返回一个 JavaScriptResult,它会告诉您的 div 展开:

public ActionResult Validatecall()
{
ActionResult result;
try
{
// do whatever
}
catch (Exception)
{
result = JavaScript("$('#dvErrorMsg').show();$('#errorMessage').val(/* Put exception message here*/")");
}
return result;
}

一般来说,我建议使用这种方式与 View 交互,因为您现在将依赖关系引入到 View 本身的 Controller 中,如所解释的 here 。我提供它作为一种方法来做到这一点,因为我不知道你到底如何调用这个 Action 。

假设您使用像 post 这样的 ajax 调用来调用此操作,我将返回一个 JsonResult 指示是否发生异常并以这种方式传递错误消息:

$.post("urltoaction", function (result) {    
if (result.success)
{
// do whatever
}
else
{
//exception occurred show errors
$('#dvErrorMsg').show();
$('#errorMessage').val(result.exceptionMsg);
}
});

现在这是 Controller 代码:

 public ActionResult Validatecall()
{
ActionResult result;
try
{
// do whatever
}
catch (Exception e)
{
result = new JsonResult()
{
Data = new { success = false, exceptionMsg = e.Message },
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
return result;
}

关于c# - 显示 div 以显示操作错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com