我正在开发一个ASP.Net MVC 3站点._Layout主视图包含一个菜单,我想隐藏菜单中的一些项目,具体取决于您是否已登录以及您所处的角色.
目前使用这样的代码
@if (HttpContext.Current.User.Identity.IsAuthenticated)
{
<li id="MyLearningTab">@Html.ActionLink("My Learning", "MyLearning", "Learning")</li>
if (HttpContext.Current.User.IsInRole("Reporters"))
{
<li id="ReportTab">@Html.ActionLink("Reports", "Index", "Reports")</li>
}
if (HttpContext.Current.User.IsInRole("Administrators"))
{
<li id="DashboardTab">@Html.ActionLink("Dashboard", "Dashboard", "Admin")</li>
<li id="AdminTab">@Html.ActionLink("Admin", "Index", "Admin")</li>
}
}
Run Code Online (Sandbox Code Playgroud)
我想把它重构为更具可读性的东西,并想出类似的东西
@if ((bool)ViewData["MenuMyLearning"]){<li id="MyLearningTab">@Html.ActionLink("My Learning", "MyLearning", "Learning")</li> }
@if((bool)ViewData["MenuReports"]){<li id="ReportTab">@Html.ActionLink("Reports", "Index", "Reports")</li>}
@if ((bool)ViewData["MenuDashboard"]){<li id="DashboardTab">@Html.ActionLink("Dashboard", "Dashboard", "Admin")</li>}
@if ((bool)ViewData["MenuAdmin"]){<li id="AdminTab">@Html.ActionLink("Admin", "Index", "Admin")</li>}
Run Code Online (Sandbox Code Playgroud)
我最初将以下内容添加到我的基本控制器构造函数中,以为我可以在那里为这些属性设置ViewData
ViewData["MenuDashboard"] = User != null && User.Identity.IsAuthenticated && User.IsInRole("Administrators");
ViewData["MenuAdmin"] = User != null && User.Identity.IsAuthenticated && User.IsInRole("Administrators");
ViewData["MenuReports"] = User != null && …Run Code Online (Sandbox Code Playgroud) 我确定我以前做过这个,但真的不记得怎么做了.
在ListView的ItemDataBound事件中,我需要获取实际的数据值.我似乎无法在传入的ListViewItemEventArgs对象中找到它.
谢谢
我正在尝试使用 Jest 为 KnockoutJs 项目编写一些测试。
为我在下面弄错的任何术语道歉 我在大约 10 年没有使用 JS 之后又回到 JS 并且仍然让我的头脑围绕 ES6 模块之类的东西。
测试工作正常,直到我需要测试使用淘汰赛可观察对象的 ViewModel,我已经向我的视图模型添加了一个导入,以使用 ES6 模块语法引入 KnockoutJs 并设置了 babel 来编译它,因此它应该在 node.js 中工作。
我的视图模型看起来像这样......
export { myVm }
import * as ko from 'knockout'
function myVm() {
var self = this;
self.helloWorld = function () { return "Hello World" }
return self;
}
Run Code Online (Sandbox Code Playgroud)
然后我的测试文件看起来像......
import * as vm from '../src/viewModels/myVm'
test('Returns Hello World', () => {
expect(vm.myVm().helloWorld()).toBe('Hello World');
});
Run Code Online (Sandbox Code Playgroud)
当我执行 Jest 时,出现最大调用堆栈大小超出错误
如果我从 ViewModel 中删除 import * as …
我想创建一个与ASP.Net Session类似的对象.
假设我将此对象称为mySession,我想在你做的时候这样做
mySession["Username"] = "Gav"
Run Code Online (Sandbox Code Playgroud)
如果它不存在,它将把它添加到数据库表中,如果存在则更新它.我可以编写一个方法来执行此操作但不知道如何在使用索引器语法([])时触发它.我从来没有用索引器构建一个做这样的事情的对象.
在任何人说任何事情之前,我知道ASP.Net会话可以保存到数据库,但在这种情况下,我需要一个稍微简单的自定义解决方案.
以这种方式使用索引器的任何指针或示例都会很棒.
谢谢
我在C#中有一个IEnumerable对象列表.我可以使用一个for循环遍历并检查每个对象,但是在这种情况下,我想要做的就是检查第一个对象是否有办法在不使用foreach循环的情况下执行此操作?
我试过mylist [0]但是没有用.
谢谢
是否可以将远程存储过程的结果插入临时表?例如
CREATE TABLE #test(id INT)
INSERT INTO #test
EXEC [linkedserver].remoteDB.dbo.tst
DROP TABLE #test
Run Code Online (Sandbox Code Playgroud)
其中tst是返回ID的存储过程.
如果我自己运行exec它工作正常
EXEC [linkedserver].remoteDB.dbo.tst
Run Code Online (Sandbox Code Playgroud)
但是当我把它作为插入的一部分时,我得到了这个错误
" OLE DB提供程序"SQLNCLI"用于链接服务器"linkedserver"返回消息"伙伴事务管理器已禁用其对远程/网络事务的支持.".消息7391,级别16,状态2,行2无法执行操作,因为链接服务器"linkedserver"的OLE DB提供程序"SQLNCLI"无法启动分布式事务. "
一台机器运行SQL Server 2005,另一台机器运行"分布式事务协调器"服务.
我正在开发一个允许用户添加日历条目的网站,在主页面上,所有用户都可以看到这些条目,其中包含一些文字,说明这些条目是最新的,例如
入场1:5分钟
入场2:7小时
入场3:4天
我遇到的问题是每个人都可能处于不同的时区.我已决定将所有时间/日期存储在GMT中.
我正在捣乱的是,当用户提交日历条目时,请参阅2009年1月1日上午10:30我然后需要确定这个日期时间在GMT中的存储时间.有没有办法知道用户的本地时区/时间是什么,所以我可以将它与服务器时间(GMT)进行比较以进行转换?
我真的希望这是有道理的.我希望我能做到这一点,而不必询问用户他们在哪个时区,或强迫用户输入GMT中的所有日期时间.
如果我想将变量设置为表中的字段,我通常使用类似的东西
SELECT @UserIdToUpdate = userId FROM #NewUsers
Run Code Online (Sandbox Code Playgroud)
在这种情况下会有多个结果,我只想要第一个,所以我尝试了这个,但它失败了,并说无效的语法顶部
SELECT @UserIdToUpdate = TOP 1 UserId FROM #NewUsers
Run Code Online (Sandbox Code Playgroud)
如果是这种情况,我可以使用没有顶部的第一个例子吗?我想它只会拿第一张唱片?我知道这似乎是奇怪的事情,但命令是在循环中所以它将选择一个记录,用它做一些事情,删除它然后选择下一个.
我正在使用AD FS来验证.NET 4.5应用程序中的用户.我找不到从控制台应用程序请求/接收令牌并将该令牌转换为ClaimsPrinciple的任何示例.我能找到的唯一例子是基于WCF的配置,我真的希望看到实际的代码能够以最简单的形式完成.
我已经安装了AD FS,并且认为我已将其配置为准备接收请求.我已经创建了一个依赖方,给它一个密钥并分配了几个声明.
任何人都可以指出我正确的方向或我现在需要在我的控制台应用程序中做什么来向它发送身份验证请求?
谢谢
我有一个C#方法,它接受一个字符串作为参数,该字符串包含静态方法的名称,例如
"MyClass.GetData"
Run Code Online (Sandbox Code Playgroud)
是否可以从字符串中传递的值运行该方法?
c# ×4
asp.net ×3
.net ×2
sql-server ×2
.net-4.5 ×1
adfs ×1
babeljs ×1
javascript ×1
jestjs ×1
localization ×1
testing ×1
timezone ×1
wif ×1