当客户登录我的网站时,我需要知道他们的帐户ID和他们的菜单ID.这让我知道他们可以在页面上看到什么数据以及他们获得了什么菜单.我不想一遍又一遍地阅读这些数据.我应该将其存储在会话变量中还是自定义成员资格用户和成员资格提供程序以包含此信息?
我需要为ASP.NET mvc应用程序创建自定义成员资格用户和提供程序,我希望使用TDD.我创建了一个继承自MembershipUser类的User类,但是当我尝试测试它时,我得到一个我无法弄清楚的错误.如何为其提供有效的提供商名称?我只需要将它添加到web.config吗?但此时我甚至都没有测试网络应用程序.
[failure] UserTests.SetUp.UserShouldHaveMembershipUserProperties TestCase'UserTests.SetUp.UserShouldHaveMembershipUserProperties'失败:指定的成员资格提供程序名称无效.参数名称:providerName System.ArgumentException消息:指定的成员资格提供程序名称无效.参数名称:providerName源:System.Web
我的一个控制器中有几种方法可以做到这一点:
ViewData["Customers"] = LoadCustomers();
ViewData["Employees"] = LoadEmployees();
ViewData["Statuses"] = LoadStatuses();
etc......
Run Code Online (Sandbox Code Playgroud)
这是LoadCustomers(),但LoadEmployees,LoadStatuses和所有其他几乎完全相同的逻辑:
private static SelectList LoadCustomers()
{
IList<Customer> customers;
try
{
IServiceCallService scService = new ServiceCallService();
customers = scService.GetCustomers();
Customer c = new Customer
{
ID = "",
Name = "-- Select a Facility --"
};
customers.Insert(0, c);
}
catch
{
customers = new List<Customer>();
Customer c = new Customer
{
ID = "",
Name = "-- No Facilities on File --"
};
customers.Insert(0, c);
}
return new SelectList(customers, "ID", …Run Code Online (Sandbox Code Playgroud) 我正在使用最新版本的resharper.刚刚下载并安装在上周,所以我是新手使用它.我遇到的问题是,在我的ASP.NET MVC应用程序中,我的所有控制器都说它们从未使用过,控制器中的所有方法都说它们从未使用过.
有没有办法抑制消息或resharper了解它们被使用?
我有一个在Windows Server 2003 IIS 6.0上运行的ASP.NET MVC 1.0应用程序.
我刚刚添加了一项新功能,允许用户将文件上传到服务器.我还添加了一个页面,显示该用户上传的文件列表.
问题是当有人点击查看文件时,我收到以下错误:系统找不到指定的文件.
我已经验证了一切都是正确的,我无法想象我的生活.
我将此代码添加到路由部分,认为可能与它有关,但它没有帮助.
routes.RouteExistingFiles = false;
routes.IgnoreRoute("App_Data/Uploads/{*pathInfo}");
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
当我点击试图访问数据库的代码时,我得到一个空引用异常.
这是在global.asax中,我已经逐步完成调试器并且正在执行此代码.
public class MvcApplication : System.Web.HttpApplication
{
public class DmsAppHost : AppHostBase
{
public DmsAppHost() : base("API", typeof(AppUsersService).Assembly) { }
public override void Configure(Funq.Container container)
{
var dbConnectionFactory = new OrmLiteConnectionFactory("Server=localhost;Port=5432;User Id=dms; Password=dms; Database=dms", PostgreSqlDialect.Provider);
container.Register<IDbConnectionFactory>(dbConnectionFactory);
container.RegisterAutoWiredAs<AppUserRepository, IAppUserRepository>();
}
}
protected void Application_Start()
{
new DmsAppHost().Init();
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BootstrapSupport.BootstrapBundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles);
}
}
Run Code Online (Sandbox Code Playgroud)
当我点击这段代码时(使用(var db = DbConnectionFactory.OpenDbConnection()))我得到一个NullReferenceException.
你调用的对象是空的.
public class AppUserRepository : IAppUserRepository
{
public IDbConnectionFactory DbConnectionFactory { get; set; }
public AppUser GetAppUserByUsername(string username)
{
AppUser appUser;
using (var …Run Code Online (Sandbox Code Playgroud) 我们使用一个名为Universe的IBM数据库,它将所有用户ID,密码和配置文件信息保存在名为USERINFO的表中.
我可以使用成员资格提供程序连接到此数据库并对用户进行身份验证吗?
数据库访问实际上是通过Web服务,因为我们没有直接连接到数据库.
我们有一个名为GetUserInfo的Web服务方法,它接受username的参数.该方法将返回密码和配置文件信息.
我已经构建了一个ASP.NET mvc Web应用程序,似乎我们的一些用户已经开始在Firefox中创建某种类型的附加组件或扩展,以专门为他们自定义应用程序.
有没有办法不允许这个?我可以对我的应用程序执行某些操作,以便他们无法运行自定义项吗?
我的老板非常害怕这一点,以至于他想限制每个人使用IE8!
nlog.config被放入我的项目的bin/Debug中.在安装项目中,我有项目a的主要输出和要包含在Application文件夹中的项目a的内容文件.nlog.config,但不是对msi.有任何想法吗?
我无法弄清楚为什么ActionLink在这个实例中没有正确生成url.
我有一个名为Activity的控制器和一个名为Show的视图.从那里我正在尝试创建一个指向ServiceCall控制器的链接,显示视图.从ServiceCall的任何视图中都可以正常工作:
<%= Html.ActionLink(Html.Encode(sc.CallNumber), "Show", new { callNumber = "100" })%>
Run Code Online (Sandbox Code Playgroud)
从"活动"视图中,这不起作用:
<%= Html.ActionLink(Html.Encode(sc.CallNumber), "Show", "ServiceCall", new { callNumber = "100" })%>
Run Code Online (Sandbox Code Playgroud)
它生成一个像http:// localhost/Activity/Show/12?Length = 11的链接
经过一番研究,我决定尝试这个:
<%= Html.ActionLink(Html.Encode(sc.CallNumber), "Show", new { controller = "ServiceCall" }, new { callNumber = "100" })%>
Run Code Online (Sandbox Code Playgroud)
这给了我一个http:// localhost/ServiceCall/Show的url,但没有给出callNumber.有任何想法吗?
这是我的路线:
routes.MapRoute(
"ShowCall",
"ServiceCall/Show/{callNumber}",
new {controller = "ServiceCall", action = "Show", callNumber = ""}
);
Run Code Online (Sandbox Code Playgroud) c# ×8
asp.net-mvc ×7
asp.net ×2
browser ×1
coding-style ×1
deployment ×1
dry ×1
firefox ×1
installation ×1
resharper ×1
servicestack ×1
u2 ×1
universe ×1