Tag: asp.net mvc

如何在一个foreach中使用EditorFor

我有一个模型: public class MyListModel { public int ID {get;set;} public List<User> Users{get;set;} } 如何在foreach中使用Html.EditorFor方法? @model MyListModel <table> <tr> <th></th> </tr> @foreach (var item in Model.Users) { <tr> <td> @Html.EditorFor(item.Enabled) </td> </tr> } </table>

如何使用MVC 4上传大文件?

我有它的工作..但我注意到,一旦我上传的文件变得更大(约4000K)控制器将不会被称为.. 所以我在chunking中join了哪个修正了这个问题..但是现在当我打开文件时它充满了垃圾字符… 那么用plupload / MVC 4上传大文件的正确方法是什么? 这是我目前的代码 $(document).ready(function () { var uploader = new plupload.Uploader({ runtimes: 'html5', browse_button: 'pickfiles', container: 'container', // max_file_size: '20000mb', url: '@Url.Action("Upload", "Home")', chunk_size: '4mb', //filters: [ // { title: "Excel files", extensions: "xls,xlsx" }, // { title: "Text files", extensions: "txt" } //], multiple_queues: true, multipart: true, multipart_params: { taskId: […]

错误 – SignInResponse消息可能只能在当前的Web应用程序–MVC 2.0应用程序中redirect

我有一个情况,我们有一个MVC 2应用程序(我尝试了一个基本的MVC 2应用程序没有任何额外的东西,仍然是同样的问题),并使用adfs 2authentication我的用户。 所以..现在我进入我的应用程序,我得到下面.. ID3206:SignInResponse消息可能只能在当前的Web应用程序中redirect:'/ [app]'是不允许的。 说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的位置。 exception详细信息:Microsoft.IdentityModel.Protocols.FederationException:ID3206:SignInResponse消息只能在当前Web应用程序内redirect:不允许使用“/ [app]”。 我已经阅读了大部分的博客,并张贴到一个.. <federatedAuthentication> <wsFederation passiveRedirectEnabled="true" issuer="https://auth.[domain]/adfs/ls/" realm="https://[development domain]/[app]/" requireHttps="true" /> <cookieHandler requireSsl="true" /> </federatedAuthentication> <audienceUris> <add value="https://[development domain]/[app]/" /> </audienceUris> 我在这个领域和观众里面都有一个尾随的斜线。 我已经添加了他对Application_BeginRequest的build议 – 然后,我将代码复制到[开发域],因为这是证书所在的地方。然后它就陷入了一个无限循环。 我也检查了日内瓦服务器上的依赖方..标识符和端点(POST)都是https:// [开发域名] / [app] / – 再次以斜线 我认为这是一个MVC应用程序的问题,我已经创build了大量的声明感知网站,并得到我的声明等default.aspx页面上。 我的想法是,与MVC应用程序有关的路由以某种方式发布错误? 任何帮助真的apprecaited我看着这个安静了一阵子,现在没有用。 Ĵ

HttpPost vs MVC中的HttpGet属性:为什么使用HttpPost?

所以我们有[HttpPost],这是一个可选的属性。 我明白这限制了通话,所以只能通过HTTP POST请求来完成。 我的问题是为什么我想这样做?

Validator.TryValidateObject不validationRangeAttribute

鉴于以下目的, public class Question { [Required] public string QuestionText { get; set; } [Range(1, 5)] public int Difficulty { get; set; } } 使用以下validation码 ICollection<ValidationResult> results = new List<ValidationResult>(); Question question = new Question(); ValidationContext ctx = new ValidationContext(question, null, null); Validator.TryValidateObject(question, ctx, results); // results.Length = 1 为什么Range属性在Required中没有创buildvalidation错误(值显然是0)?

在ASP.NET MVC项目中更改Visual Studio默认浏览器

Firefox被设置为Windows的默认浏览器。 我想更改Visual Studio用于debugging的默认浏览器。 通常情况下,我要做的路线是右键单击一个.aspx文件并从Browse With…对话框中设置默认值。 不幸的是,ASP.NET MVC Views没有Browse With…选项。 您还可以使用其他方法设置ASP.NET MVC项目的默认浏览器? 相关,但不是ASP.NET MVC特定的: Visual Studio将打开默认浏览器而不是Internet Explorer

我可以通过Ajax.ActionLink中的OnSuccess事件传递参数吗?

当我使用: new AjaxOptions { UpdateTargetId = "VoteCount" + indx, OnSuccess = "AnimateVoteMessage" } 一切工作正常…但我正在试图animation列表中的项目,自动分配的ID。 因为我希望每个这些从我的JavaScript可寻址,我相信我需要传递一个参数给我的JavaScript。 但是当我使用: new AjaxOptions { UpdateTargetId = "VoteCount" + indx, OnSuccess = "AnimateVoteMessage(2)" } 我得到一个“Sys.ArgumentUndefinedException:值不能被定义。” 例外。 那么当我使用MicrosoftMvcAjax.js的debugging版本。 当使用压缩版本时,我得到“Microsoft JScript运行时错误:'b'为空或不是对象” 所以我的问题是,我可以传递一个参数给我的JavaScript函数使用ActionLink的OnSuccess事件? 这是正确的方法吗? 我还有什么我有一个JavaScript函数有能力在我的网页上运行10项(在我的情况下是多个DIV的ID)?

在“asp.net mvc母版”页面的导航列表中添加“活动”标签

在默认的asp.net mvc项目中,在Site.Master文件中有一个菜单导航列表: <div id="menucontainer"> <ul id="menu"> <li><%= Html.ActionLink("Home", "Index", "Home")%></li> <li><%= Html.ActionLink("About Us", "About", "Home")%></li> </ul> </div> 这在浏览器中呈现给: <div id="menucontainer"> <ul id="menu"> <li><a href="/">Home</a></li> <li><a href="/Home/About">About Us</a></li> </ul> </div> 我希望能够根据被调用的视图dynamic地设置活动列表项目。 也就是说,当用户正在查看主页时,我想要创build下面的HTML: <div id="menucontainer"> <ul id="menu"> <li class="active"><a href="/">Home</a></li> <li><a href="/Home/About">About Us</a></li> </ul> </div> 我希望这样做的方式是这样的: <div id="menucontainer"> <ul id="menu"> <li <% if(actionName == "Index"){%> class="active"<%}%>><%= Html.ActionLink("Home", […]

testing控制器使用User.Identity.Name的操作

我有一个依赖于User.Identity.Name获取当前用户的用户名的行为来获取他的订单列表: public ActionResult XLineas() { ViewData["Filtre"] = _options.Filtre; ViewData["NomesPendents"] = _options.NomesPendents; return View(_repository.ObteLiniesPedido(User.Identity.Name,_options.Filtre,_options.NomesPendents)); } 现在我正在尝试为此编写unit testing,但是我遇到了如何为User.Identity.Name提供一个Mock。 如果我运行我的testing(没有模拟用户…),我得到一个空..exception。 这是正确的方法? 我在想,我的行动代码是不好的unit testing。

RequestVerificationToken不匹配

我有一个反CRSF MVC机制的问题。 返回的cookie和表单input不匹配。 我每次都收到一个错误,只能在一个特定的页面。 在其余的应用程序中,它运作良好。 服务器正在返回HTTP 500 Internal Server Error ,我可以在日志中看到这个exception: [System.Web.Mvc.HttpAntiForgeryException]:{“所需的防伪标记未提供或无效。”} 这是服务器正在生成的隐藏input是: <input name="__RequestVerificationToken" type="hidden" value="QK8P7rjyZE6Vm5seY7Fr704YCOoFGdTIMzl1W7R0ZFpXSMjGKLG2T05DfFSYTxvtQCEx7DDT69DGsDB2+ZXFHY8oAjiKz0gw8BhDFywgmfIpoXnGpj7fONNzIIfvbrDrE9WJsMu6Io/0bDLM5WfKs0zktiNjyOWpfYrmnfINYmjW8NLOZFoz74xTcgTptAld"> 这是返回的Cookie: Set-Cookie:__RequestVerificationToken_L2VGbG93=skmTAVI8HCbfxDS+xhioIMIISL3UOBI7qJM1JbHjTtAqKl4W70pDUcTKMm0p3R3mrHDziE8vXw0C0OO4HArzWO1/e6py+v/cFdbe9maFgjl4jMiZ9Wc4YIhC6+IUXkk6yqJDJ8dCIr8qtGaYcD9IX+m7/SlVhu521KQSWJYRcaY=; path=/; HttpOnly 当我检查服务器发送的内容时,cookie是完全一样的,但是我认为有效载荷有不同的编码: __RequestVerificationToken:QK8P7rjyZE6Vm5seY7Fr704YCOoFGdTIMzl1W7R0ZFpXSMjGKLG2T05DfFSYTxvtQCEx7DDT69DGsDB2%2BZXFHY8oAjiKz0gw8BhDFywgmfIpoXnGpj7fONNzIIfvbrDrE9WJsMu6Io%2F0bDLM5WfKs0zktiNjyOWpfYrmnfINYmjW8NLOZFoz74xTcgTptAld 差异是以两个字符显示编码: / -> %2F + -> %2B 这些是我可以find隐藏的input字段和后有效载荷之间唯一的区别。 可能是导致ValidateAntiForgeryTokenvalidation令牌失败的问题? 问候。