首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我在asp.net mvc控制器操作中验证失败时,如何保留我的URL

当在ASP.NET MVC控制器操作中验证失败时,可以通过以下方法保留URL:

  1. 使用ModelState字典对象:在控制器中,当验证失败时,可以将验证错误信息添加到ModelState字典对象中。在返回视图时,可以将ModelState字典对象传递给视图,以便在视图中显示错误信息。在视图中,可以使用Html.ValidationSummary或Html.ValidationMessage等辅助方法来显示错误信息。
  2. 使用TempData:TempData是一个字典对象,用于在请求之间传递临时数据。在控制器中,当验证失败时,可以将URL保存到TempData中。然后,在重定向到其他页面或返回视图时,可以从TempData中获取URL并进行相应的处理。

下面是一个示例代码:

代码语言:csharp
复制
[HttpPost]
public ActionResult YourAction(YourModel model)
{
    if (!ModelState.IsValid)
    {
        // 验证失败,将错误信息添加到ModelState中
        ModelState.AddModelError("", "验证失败的错误信息");

        // 保存URL到TempData中
        TempData["ReturnUrl"] = Request.Url.ToString();

        // 返回视图
        return View(model);
    }

    // 验证通过,继续处理其他逻辑

    return RedirectToAction("SuccessAction");
}

[HttpGet]
public ActionResult YourAction()
{
    // 从TempData中获取保存的URL
    string returnUrl = TempData["ReturnUrl"] as string;

    // 清除TempData中的URL
    TempData.Remove("ReturnUrl");

    // 其他处理逻辑

    return View();
}

在视图中,可以使用以下方式来显示错误信息:

代码语言:html
复制
@Html.ValidationSummary(true)

希望以上信息对您有帮助。如果您需要更多帮助或有其他问题,请随时提问。

相关搜索:如何从ASP.NET MVC中的url检查操作权限在ASP.NET MVC中的控制器操作之后调用方法如何使用ASP.NET MVC中的asp控制器或asp操作访问url中的多个层?如何在asp.net mvc控制器中处理stackoverflow的问题URL?在ASP.NET MVC核心中成功进行身份验证时触发操作的最佳方式是什么?即使在“必需的”验证失败之后,MVC操作也会受到影响。它在单击按钮时显示验证消息,但它正在调用我的操作在ASP.NET MVC中,如何从控制器中的操作方法在新选项卡中打开静态.html页面?当我在控制器MVC上定义了一个路由属性时,我如何重定向一个新的URL?如何将JSON格式的数据传递给ASP.NET核心MVC中的控制器操作如何在asp.net mvc中隐藏文本框点击时的验证消息?如何在选中复选框时将当前模型详细信息的值传递给asp.net mvc中的控制器操作在ASP.NET MVC中,如何使用C#代码中的Razor @ Url.Content()帮助程序?在ASP.NET MVC 3中使用不显眼的验证,如何在表单无效时采取措施?当我在vue.js中滚动组件时,如何动态更改URL中的散列?当我尝试通过模型列表将200多条记录从视图发送到控制器时,它在MVC中的控制器HTTP post操作中始终显示为空如何只在用户点击提交表单时触发数据验证,而不是在ASP.NET MVC中文本框中的值改变后触发数据验证?当我不知道方法的参数在Moq中是什么时,如何验证方法被调用如何将注册失败的验证重定向到在laravel jetstream fortify中带有锚点的url在sql asp.net MVC5中使用linq时,如何格式化记录中的数据?在Rails 3中,当我不尝试更新密码时,如何跳过密码字段的验证?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券