Bootstrap 4 如何使UI具有引导4个选项卡,在每个按钮单击时都可以发布帖子?
我在asp.net core 2.2中使用带承载令牌的引导4。我想创建选项卡,以便用户能够更好地导航。我从哪里开始?我查看了同事的代码,他在整个表单上只有一个post方法。是否有某种方法可以在每次单击post请求时将数据发送到数据库 我已经尝试将我的同事代码的以下部分放入我的cshtml页面。 '''Bootstrap 4 如何使UI具有引导4个选项卡,在每个按钮单击时都可以发布帖子?,bootstrap-4,asp.net-core-mvc,Bootstrap 4,Asp.net Core Mvc,我在asp.net core 2.2中使用带承载令牌的引导4。我想创建选项卡,以便用户能够更好地导航。我从哪里开始?我查看了同事的代码,他在整个表单上只有一个post方法。是否有某种方法可以在每次单击post请求时将数据发送到数据库 我已经尝试将我的同事代码的以下部分放入我的cshtml页面。 ''' ''' 我的代码如下所示: _cshtml(共享布局页面) ''' @使用PhillipCapital.Entity.DataObjects @{ //int-length=men
'''
我的代码如下所示:
_cshtml(共享布局页面)
'''
@使用PhillipCapital.Entity.DataObjects
@{
//int-length=menu.Count;
}
@**@
.高级酒吧{
宽度:100%;
背景色:#eaf0f4;
高度:10px;
填充顶部:25px;
}
.里程碑{
浮动:左;
高度:50px;
宽度:50px;
转换:translateY(-30px);
}
.里程碑.内容{
高度:50px;
宽度:50px;
边界半径:25px;
}
.milestone.barBackground{
高度:10px;
变换:translateY(30px);
}
.前进{
浮动:左;
高度:10px;
}
.主动{
背景色:#5cb85c;
}
.不活跃{
背景色:#eaf0f4;
}
.active.fa{
颜色:白色;
转换:translateY(15px);
}
.fa{
颜色:#99a2a8;
转换:translateY(15px);
}
@RenderBody()
我试图让菜单工作,以便用户可以导航到不同的页面,但提交后,这就像第10页的用户不能回来。谢谢你的帮助 您可以捕获选项卡上的单击事件,并通过AJAX发布表单。然而,这实际上只解决了部分问题。在服务器端,您需要以某种方式持久化部分表单数据,很可能是通过
TempData
但是,在您准备提交所有数据之前,通常最好完全在客户端处理基于选项卡的表单。在允许用户切换到下一个选项卡之前,使用客户端验证来确保每个部分都是完整和有效的。您还可以使用localStorage
在用户进行操作时保存每个步骤。这样他们甚至可以离开,然后回来继续填写表格。只需记住在最后提交时清除localStorage
,这样数据就不会永远存在
您仍然需要服务器端验证,因为客户端验证可能不完整甚至被篡改。这也意味着用户可能需要在发布后再次发送回表单。在页面加载时,您可以通过以下方式自动更改到有错误的选项卡:
var tab = $('.field-validation-invalid').eq(0).closest('.tab-pane').attr('id');
$('#' + tab).tab('show');
在没有ajax的情况下,还有其他方法可以做到这一点吗?我们正在努力使我们的网站尽可能安全。这就是为什么我们要使用httpclient。AJAX没有本质上的“不安全”。这一切都取决于你如何使用它,就像其他任何东西一样。不确定您想要使用的是什么
HttpClient
。这完全是服务器端的,所以它在这里并不起作用。无论如何,使用HttpClient
也可以轻松地发出不安全的请求。
var tab = $('.field-validation-invalid').eq(0).closest('.tab-pane').attr('id');
$('#' + tab).tab('show');