Tag: asp.net mvc

Html.Hidden和Html.HiddenFor有什么区别?

我可以在MSDN上findHtml.HiddenFor的一个好的定义,但是我可以在Html.Hidden上find的唯一的东西是和它的问题有关。 有人能给我一个很好的定义和例子。

在razor页面中检查login用户angular色

@if (Request.IsAuthenticated && User.Identity.Name=="administrator") { <div id="sidebar"> <div class="module"> <ul class="menu"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("About", "About", "Home")</li> <li>@Html.ActionLink("Contact", "Contact", "Home")</li> </ul> </div> <div class="mainContent"> Hello, @User.Identity.Name ! </div> </div> 这是我的布局,如果用户身份validation为pipe理员,但这种检查看起来不好,我需要检查用户的angular色,而不是他的名字。 这是控制器的方法 public ActionResult AuthenticatedUserLayout(string username) { var lst=userContext.UserProfiles.ToList(); var user = lst.Select(u => u.UserName == username); if(IsAdmin(Session["LoginUser"].ToString())) return View(user); else return Index(); } 我也发现return View(user)是不好的,因为我不知道如何使用该user […]

为什么font-awesome在localhost上工作,但不在web上?

我在我的项目(mvc/asp.net)使用字体真棒。 我的问题是,我正在debugging项目,并检查localhost ,没有问题的字体真棒图标。 但是,当发布网站,并在网上查询,而不是图标,我看到小盒子。 我相信它被放置在正确的目录(放置的css文件)。 我找不到任何适当的解决scheme。 顺便也没有button的问题。 他们都好,但图标已经消失。 谢谢

ASP.NET Web API:正确的方式返回401 /未授权的响应

我有一个MVC webapi网站,使用OAuth /令牌authentication来validation请求。 所有相关的控制器都有正确的属性,authentication工作正常。 问题是并不是所有的请求都可以在属性范围内进行授权 – 一些授权检查必须在由控制器方法调用的代码中执行 – 在这种情况下返回401未授权响应的正确方法是什么? 我曾尝试throw new HttpException(401, "Unauthorized access"); ,但是当我这样做时,响应状态码是500,我也得到一个堆栈跟踪。 即使在我们的日志DelegatingHandler中,我们也可以看到响应是500,而不是401。

使用DataAnnotations和DataType进行电子邮件模型validation

我有以下型号: public class FormularModel { [Required] public string Position { get; set; } [Required] [DataType(DataType.EmailAddress)] public string Email { get; set; } [Required] public string Webcode { get; set; } } 所需的validation工作正常。 但是,当我尝试使用数据types,它不反应。 这是我的电子邮件控制的razor代码: @Html.TextBoxFor (model => model.Email, new { @style = "width: 175px;", @class = "txtField" } ) * 那么,有谁知道答案? TIA

在Mvc中使用Html.ActionLink时,如何绕过HTML编码?

每当我使用Html.ActionLink它总是Html编码我的显示string。 比如我想让我的链接看起来像这样: <a href="/posts/422/My-Post-Title-Here">More&hellip;</a> 它的输出是这样的: 更多&hellip; &hellip是“…”,如果你想知道。 但是actionlink输出的是实际的文本“&hellip;” 作为链接文本。 我有同样的问题,如果我想输出这个: <a href="/posts/422/My-Post-Title-Here"><em>My-Post-Title-Here</em></a> 我结束了: <em> My-Post-Title-Here </ em> 任何想法如何做到这一点?

ASP.net MVC 不捕捉exception

在两个不同的应用程序中,一个是用VS2008 MVC项目自定义另一个样例MVC应用程序,[HandleError]不捕捉exception。 在示例应用程序中我有: [HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Message"] = "Welcome to ASP.NET MVC!"; throw new Exception(); return View(); } public ActionResult About() { return View(); } } 这只是默认的控制器,抛出了一个用于testing的exception。 但它不起作用。 而不是去默认的error.aspx页面,它显示在浏览器中的debugging信息。 这个问题首先出现在我正在处理的自定义应用程序中,这导致我使用示例应用程序对其进行testing。 认为它与我在自定义应用程序中所做的更改有关,我将示例应用程序完全保持不变,并且在throw方法中throw的exception(yuck)。 我很难过 我错过了什么?

redirect到指定的控制器和动作在asp.net mvc行动filter

我写了一个操作filter,它检测到一个新的会话,并尝试将用户redirect到一个页面,通知他们已经发生了这种情况。 唯一的问题是我无法弄清楚如何使它redirect到操作filter中的控制器/操作组合。 我只能找出如何redirect到指定的url。 有没有一种直接的方式来redirect到控制器/操作组合在MVC2中的操作filter?

无法访问HttpContext.Current

我无法访问HttpContext.Current与我的项目MVC4与C#4.5 我在我的项目中添加了对System.Web的引用,并在我的控制器页面上添加了使用说明… 但是我只能访问currentHandler … var context = HttpContext.CurrentHandler; //Current HttpContext.Current在C#4.5上被弃用了吗? 我已经看过这个帮助页面: http : //msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx

“&”字符会破坏存储在web.config中的密码

我有IIS 7.5上运行的ASP.NET MVC3 C#.NET应用程序。 我们有一个Windows NT服务帐户,我们模拟在我们的代码为了读/写文件到文件共享。 用户标识编译在代码中,服务帐户密码存储在web.config文件中。 密码包含一个&字符(即: p&ssword )。 这打破了网站。 访问网站时,我们收到了这个错误:“对不起,处理您的请求时发生错误”。 以下是使用密码的代码: var password = ConfigurationManager.AppSettings.Get(Common.SVC_PWD); bool isSuccess = LogonUser( @"my_svc_acct", "my.domain.net", password, LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref token ); 为什么这会导致网站中断?