C# 从引导模式弹出窗口提交数据

C# 从引导模式弹出窗口提交数据,c#,asp.net,ajax,twitter-bootstrap,razor-pages,C#,Asp.net,Ajax,Twitter Bootstrap,Razor Pages,我希望我的用户能够从引导模式弹出窗口提交数据 我想知道是否有人有这样做的经验,以及您是如何将数据发布回服务器的。Razor页面有很多处理错误等的结构,看起来你会失去所有这些 您是否将标签放在模式弹出窗口内?在这种情况下,似乎无法处理服务器端错误。还是你找到办法了 或者您是使用AJAX提交数据的,这需要更多的工作,但您可以根据需要报告错误。这里是一个完整的演示,演示了如何在出现错误时在表单发布后重新打开模式。这个演示是用MVC和Bootstrap4制作的。为了使前端验证能够工作,假设您在皮肤中添加

我希望我的用户能够从引导模式弹出窗口提交数据

我想知道是否有人有这样做的经验,以及您是如何将数据发布回服务器的。Razor页面有很多处理错误等的结构,看起来你会失去所有这些

您是否将标签放在模式弹出窗口内?在这种情况下,似乎无法处理服务器端错误。还是你找到办法了


或者您是使用AJAX提交数据的,这需要更多的工作,但您可以根据需要报告错误。

这里是一个完整的演示,演示了如何在出现错误时在表单发布后重新打开模式。这个演示是用MVC和Bootstrap4制作的。为了使前端验证能够工作,假设您在皮肤中添加了默认的MVC jquery.validate

首先是一个模型

然后是html和razor

最后,如果ValidationSummary处于活动状态,则使用javascript打开模式。ValidationSummary生成带有类验证摘要错误的html,因此我们可以查找它

$(document).ready(function () {
    if ($('.validation-summary-errors').length) {
        $('#exampleModal').modal('show');
    }
});

这里是一个完整的演示,当出现错误时,如何在表单发布后重新打开模式。这个演示是用MVC和Bootstrap4制作的。为了使前端验证能够工作,假设您在皮肤中添加了默认的MVC jquery.validate

首先是一个模型

然后是html和razor

最后,如果ValidationSummary处于活动状态,则使用javascript打开模式。ValidationSummary生成带有类验证摘要错误的html,因此我们可以查找它

$(document).ready(function () {
    if ($('.validation-summary-errors').length) {
        $('#exampleModal').modal('show');
    }
});

我更喜欢Ajax调用,因为您有更多的控制权。请共享code@user123456:什么代码?它还没有实现。我正在尝试在服务器上创建数据。提交表单应该是非常标准的。你能展示一下html和你的控制器吗?我会为你编写ajaxyou@EmekaOkafor:谢谢,但是我会写AJAX。我正在探索AJAX是否是实现这一点的方法,或者我是否应该提交表单。还有,这是剃须刀页面。没有控制器。我更喜欢Ajax调用,因为您有更多的控制权。请共享code@user123456:什么代码?它还没有实现。我正在尝试在服务器上创建数据。提交表单应该是非常标准的。你能展示一下html和你的控制器吗?我会为你编写ajaxyou@EmekaOkafor:谢谢,但是我会写AJAX。我正在探索AJAX是否是实现这一点的方法,或者我是否应该提交表单。还有,这是剃须刀页面。没有控制器。我用的是Razor页面而不是MVC,但是看起来相关的部分应该翻译。谢谢不客气。我希望Razor Pages有一个带有类验证摘要错误的ValidationSummary。如果没有,你可以创建类似的东西。好吧,我使用的是Razor页面而不是MVC,但是看起来相关的部分应该翻译。谢谢不客气。我希望Razor Pages有一个带有类验证摘要错误的ValidationSummary。但如果不是,你可以创造类似的东西。
public ActionResult Index()
{
    return View(new ModalFormDemoModel());
}


[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(ModalFormDemoModel model)
{
    //add a custom error
    ModelState.AddModelError(string.Empty, "This is a custom error for testing!");

    //check the model (you should also do front-end vlidation, as in the demo)
    if (!ModelState.IsValid)
    {
        return View(model);
    }

    //do your stuff


    //add a success user message
    model.ResultMessage = "Your form has been submitted.";

    return View(model);
}
$(document).ready(function () {
    if ($('.validation-summary-errors').length) {
        $('#exampleModal').modal('show');
    }
});