如何使用ASP.net MVC实现动态面包屑?
如果你对面包屑是什么感到好奇:
什么是面包屑?好吧,如果您曾浏览过在线商店或在论坛中阅读帖子,您可能会遇到面包屑.它们提供了一种查看网站位置的简便方法.像Craigslist这样的网站使用面包屑来描述用户的位置.每页上面的列表上方都是这样的:
sf bayarea craigslist>旧金山市>自行车
我意识到SiteMapProvider可以实现的功能.我也知道网上的提供商可以让你将sitenodes映射到控制器和动作.
但是,当你想要一个breadcrumb的文本匹配一些动态值时,如下所示:
首页>产品>汽车>丰田
首页>产品>汽车>雪佛兰
首页>产品>执行器材>电动椅
主页>产品>执行设备>绞架
...产品类别和产品是数据库中的记录.应该静态定义一些链接(Home肯定).
我想弄清楚如何做到这一点,但我确信有人已经用ASP.net MVC完成了这个.
我有这门课
using System.ComponentModel.DataAnnotations;
using Argussoft.BI.DAL.Domain.Users;
namespace Argussoft.BI.DAL.DTOs.UserDTOs
{
public class CreateUserDto
{
[Required(ErrorMessage = "??????? ?????")]
[MaxLength(User.EmailLength, ErrorMessage = "???????????? ????? ?????? 40 ????????")]
[RegularExpression(User.NameRegularExpression, ErrorMessage = "????? ????? ????????? ?????? ????????? ???????, ??????, ?????????????, ?????")]
public string Name { get; set; }
[Required(ErrorMessage = "??????? Email")]
[MaxLength(User.EmailLength, ErrorMessage = "???????????? ????? ?????? ??????????? ????? 100 ????????")]
[RegularExpression(User.EmailRegularExpression, ErrorMessage = "??????? ?????????? ????? ??????????? ?????")]
public virtual string Email { get; set; }
[Required(ErrorMessage = "??????? ??? ????????????")]
[MaxLength(User.FullNameLength, ErrorMessage …Run Code Online (Sandbox Code Playgroud) 我的网站上有各种网页,它们使用bootstraps(bootstrap 3)分页,但我需要知道如何限制其中显示的页面数量(例如,仅显示页面1到10).
如果您再选择第2页,则会显示第11页,依此类推.
你怎么做到这一点?
我知道它可能是JavaScript/jQuery,但任何帮助表示赞赏.如果可以在不使用JavaScript/jQuery的情况下完成,那就更好了.
下面是我的分页截图.

正如您所看到的,显示有12页,我希望第11页和第12页被隐藏,直到第2页或下一页被选中,然后将显示第11页,第1页将被隐藏,依此类推.
所以我只花了5个小时来解决一个问题,原因不仅是旧的不可靠, ISNUMERIC而且看起来我的问题只出现在UDF中ISNUMERIC声明WITH SCHEMABINDING并在存储过程中被调用(我有很多要将其提炼成测试用例的工作,但我的第一个需要是用可靠的东西替换它.
关于良好,有效的替代品的任何建议ISNUMERIC().显然,真正需要的是变化int,money等等,但什么是使用(最好是在T-SQL,因为在这个项目上,我仅限于SQL Server的人,因为这是一个高容量的SQL服务器到SQL Server数据处理任务)?
我使用以下代码隐藏下拉框:
<asp:DropDownList ID="test1" runat="server" DataSourceID="dsTestType" CssClass="maptest1" visible="false"
DataValueField="test_code" DataTextField="test_desc" AppendDataBoundItems="true" >
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
不知何故,我尝试使用以下代码显示此下拉列表,但这对我不起作用.谁知道为什么?
$("#test1").show();
Run Code Online (Sandbox Code Playgroud) 我有一个项目列表,我想删除复选框列表中选中的项目.
我不能使用像CheckboxList我Grid.Mvc用来显示我的线条的东西.这就是我在每行中创建复选框的原因column.add("<input type="checkbox".....>);.
每个复选框都有自己的ID:
<input type="checkbox" id="3">
<input type="checkbox" id="4">...
Run Code Online (Sandbox Code Playgroud)
我想知道如何将所有选中的复选框ID传递给控制器(从那里我将执行删除操作).如何通过一键按下从表单中将已检查ID的数组发布到我的控制器操作?
我想拥有一个UsersAdmin视图,其中包含Account Registration,UserProfile类和Identity Role类.我使用MVC5默认个人身份验证.我正在使用ui-router进行路由.我见过许多使用viewmodel将多个模型传递给单个cshtml视图的示例.但我需要一个更复杂的设置.我创建了一个模拟我正在寻找的东西.做这个的最好方式是什么.

这是我的设置的样子
UI路由
// Default route
$urlRouterProvider.otherwise('/Document');
// Application Routes States
$stateProvider
.state('app', {
abstract: true,
controller: "CoreController",
resolve: {
_assets: Route.require('icons', 'toaster', 'animate')
}
})
.state('app.document', {
url: '/Document',
templateUrl: Route.base('Document/Index'),
resolve: {}
})
.state('app.register', {
url: '/Register',
templateUrl: Route.base('Account/Register'),
resolve: {}
}).state('app.applicationUser', {
url: '/ApplicationUser',
templateUrl: Route.base('ApplicationUsers/Index'),
resolve: {}
}).state('app.role', {
url: '/Role',
templateUrl: Route.base('Role/Index'),
resolve: {}
}).state('app.roleCreate', {
url: '/RoleCreate',
templateUrl: Route.base('Role/Create'),
resolve: {}
}).state('app.userProfile', {
url: '/UserProfile',
templateUrl: Route.base('UserProfiles/Index'),
resolve: {}
}).state('app.userProfileCreate', {
url: …Run Code Online (Sandbox Code Playgroud) 我使用自定义错误页面设置
<customErrors mode="On" defaultRedirect="~/Home/Error">
<error statusCode="404" redirect="~/Home/PageNotFound" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
我创建了一个抛出异常的页面,然后重定向到正确的错误页面.
但是我注意到生产网络服务器上的elmah中的这些错误:
System.InvalidOperationException未找到视图"错误"或其主文件或视图引擎不支持搜索的位置.搜索了以下位置:〜/ Areas/Football/Views/Draft/Error.aspx~/Areas/Football/Views/Draft/Error.ascx~/Areas/Football/Views/Shared/Error.aspx~/Areas/Football /Views/Shared/Error.ascx~/ Views/Draft/Error.aspx~/Views/Draft/Error.ascx~/Views/Shared/Error.aspx~/Views/Shared/Error.ascx~/Areas/Football /意见/ Draft/Error.cshtml~/Areas/Football/Views/Draft/Error.vbhtml~/Areas/Football/Views/Shared/Error.cshtml~/Areas/Football/Views/Shared/Error.vbhtml~/Views/Draft/Error.cshtml~/Views/Draft/Error.vbhtml~/Views/Shared/Error.cshtml~/Views/Shared/Error.vbhtml
为什么要在别处寻找错误页面?我删除了〜/ Views/Shared/Error.cshtml并在〜/ Home/Error中添加了我的自定义错误页面,因为我在配置文件中指定了一个新的默认值.
有任何想法吗?
谢谢.
在尝试发布数据时,我只在服务器中获取转储,而不是在本地系统中.有一个页面向数据库提交了一些值.我还将页面中的下拉列表建模为强制性.但是,当点击"创建"时,而不是给出"失踪"之类的错误; 它抛出一个转储.
转储跟踪:
Value cannot be null.
Parameter name: items
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: items
Source Error:
Line 65: </div>
Line 66: <div class="editor-field">
Line 67: @Html.DropDownListFor(x => x.ProjectName, new SelectList(Model.ProjectDetail, "ProjectName", "ProjectName"),"")
Line 68: <span runat="server" style="color:Red;" visible="false"> *</span>
Line 69: @Html.ValidationMessageFor(model => …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×5
c# ×2
css ×2
jquery ×2
razor ×2
angularjs ×1
asp.net ×1
breadcrumbs ×1
html ×1
isnumeric ×1
javascript ×1
pagination ×1
sql-server ×1