Tag: asp.net mvc

调试,未找到源,找不到AsyncExtensions.cs

我试图在azure上调试webjob,我收到以下错误:找不到源,找不到AsyncExtensions.cs。 我正在开发VS 2015,webjob是部署在Azure上的ASP.NET MVC解决方案的一部分。 我通过右键单击它并执行Publish as Azure webjob并选择Debug configuration来发布webjob。 我通过右键单击webjob并选择Debug,Start New Instance来启动调试。 当执行到达有问题的行时,我得到上面的错误而不是与有问题的行对应的错误。 这发生在几个不同的webjobs上。

控制器名称的MVC路由约束

我的路线设置如下: context.MapRoute( name: “Area”, url: “Area/{controller}/{action}”, defaults: new { controller = “Home”, action = “Dashboard” } ); context.MapRoute( name: “AccountArea”, url: “Area/{accountFriendlyId}/{controller}/{action}”, defaults: new { controller = “Home”, action = “Dashboard”, accountFriendlyId = RouteParameter.Optional } ); context.MapRoute( name: “AccountCampaignArea”, url: “Area/{accountFriendlyId}/{campaignFriendlyId}/{controller}/{action}”, defaults: new { controller = “Home”, action = “Dashboard”, accountFriendlyId = RouteParameter.Optional, campaignFriendlyId = […]

ASP.NET MVC中的DropdownList – 未发布值

我在ASP MVC(Razor)中有一个表单,在这个表单中我有一个Textboxes …和一个 ,我想把这个select的选定选项(值)传递给控制器​​,就像其他信息一样。 文本框正确传输到控制器,它位于数据库中。 我在数据库中有一个名为NumberParticipant的字段,我希望通过我的Create控制器传输数据库: 我的代码: @using (Html.BeginForm()) { @Html.LabelFor(model => model.LocalNumber, new { @class = “control-label col-md-2” }) @Html.EditorFor(model => model.LocalNumber, new { htmlAttributes = new { @class = “form-control” } }) @Html.ValidationMessageFor(model => model.LocalNumber) 2 3 4 5 }

System.Web.Mvc.HtmlHelper 不包含的定义

我正在尝试使用Steve Sanderson关于编辑可变长度列表的博客文章 。 我已经通过NuGet包管理器安装了dll,并确保命名空间位于Views/web.config文件中。 但是,当我尝试编写using语句时,我出现以下错误。 System.Web.Mvc.HtmlHelper does not contain a definition for ‘BeginCollectionItem’ and no extension method ‘BeginCollectionItem’ accepting a first argument of type ‘System.Web.Mvc.HtmlHelper’ could be found (are you missing a using directive or an assmebly reference 查看/ Web.config中 部分视图(更新) @model Monet.Models.AgentRelationshipCodes @using (Html.BeginCollectionItem(“AgentRelationshipCodes”)) { @Html.EditorFor(model => model.EffectiveDate, “NullableDate”, new { @class = “relCodeDate2” […]

表达HelperResult以从列表中格式化项目

我正在做一个组件来格式化一个列表,它是一个扩展,我写了下面的代码,但是,在执行时,它给了我错误: 无法将lambda表达式转换为类型’System.Web.WebPages.HelperResult’,因为它不是委托类型 这是扩展名: public static MvcHtmlString FormatMyList(this HtmlHelper htmlHelper, IEnumerable list, Expression<Func> formatExp = null) { foreach (var item in list) { var itemFormated = formatExp.Compile().Invoke(item).ToString(); } return new MvcHtmlString(“”); } 查看电话: var test = Html.FormatMyList(list, formatExp: x => @ This is format of @x.Cambio to test @x.Fala ); 我已经尝试从HelperResult更改为动态,但也没有工作。 我不想像StackOverFlow中的一些post中那样只使用Func ,因为会有一些项,需要强类型化为ListType项。 我的视图中的格式可能不同,因此我无法将模板用于ListType。 有没有办法做到这一点,即使不使用表达式? 谢谢

是否可以禁用身份validation过滤MVC 5控制器中的一个操作?

[AuthenticateUser] public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { return View(); } [AllowAnonymous] public ActionResult List() { return View(); } } 如何删除名为List的操作的身份validation? 请指教…. 我的自定义filter编码如下..我也inheritance了FilterAttribute调用。 请告知 public class AuthenticateUserAttribute: FilterAttribute, IAuthenticationFilter { public void OnAuthentication(AuthenticationContext context) { if (this.IsAnonymousAction(context)) { } if (user == “user”) { // do nothing } […]

Fluentvalidation – 将参数传递给集合validation器

我在ASP.NET MVC应用程序中使用流畅的validation,我遇到了问题。 这是我的规则: RuleFor(x => x.SimpleList) .SetCollectionValidator(new SimpleListValidator()) .When(x => x.Type == SimpleEnum.SpecificType); 我想将x.Type param传递给SimpleListValidator,我该怎么做? 某种延伸方法? 它应该看起来像: RuleFor(x => x.SimpleList) .SetCollectionValidator(new SimpleListValidator(x => x.Type)) .When(x => x.Type == SimpleEnum.SpecificType);

EF向后兼容的数据库迁移

我正在尝试使用EF代码优先和迁移来弄清楚如何实现以下部署方案。 我的想法是,我想用向后兼容的架构更改升级数据库(例如:添加一列)并测试一切仍然有效。 它的灵感来自绿色/蓝色部署,但并不完全遵循这种模式。 这背后的原因是遵循这个过程: 升级数据库(EF迁移) 测试网站 更新网站代码 如果出现问题,请恢复到之前的网站代码 我肯定会面临的问题是,在第2步(和第4步),我肯定会从EF获得有关模型被更改的错误,尽管所有数据库更改都与现有代码兼容… 我知道解决方案是将数据库“向下”迁移到以前的版本(甚至进行数据库备份),但可能会发生某些迁移非常复杂且“向下”部分可能被破坏或编码很差的情况。 所以我的问题是: 有没有办法避免EF检查模型或最终意识到更改是向后兼容的?

如何在MVC Razor DropDownList中使用Html.Raw?

我在MVC Razor中使用DropDownList,并且遇到自动HTML编码问题。 我的代码看起来像: @Html.DropDownList(“MyList”, Model.DropdownNamesAndValues) 哪个工作正常,但DropdownNamesAndValues列表中的SelectListItem.Text属性可能包含HTML粗体或斜体标记。 这些目前正在下拉列表中出现(例如hello world )。 我想知道怎么做的是: 如何将@ Html.Raw应用于每个SelectListItem.Text属性? 如果不这样做,是否有一种简单的方法来删除HTML标签? 基本上是任何东西,而不是像现在一样按字面显示它们。

如何在ASP.NET MVC中将XML文件发送到客户端

在ASP.NET MVC中,我有一个数据库表。 我希望在某个视图页面上有一个按钮,如果某个用户单击该按钮,我的应用程序将生成包含数据库中所有行的XML文件。 然后,应将包含XML的文件发送到客户端,以便用户看到下载弹出窗口。 同样,我想允许用户上传一个XML文件,其内容将被添加到数据库中。 让用户上传和下载文件的最简单方法是什么? 感谢所有的答案 编辑:这是我的方法: public FileContentResult Download() { if(model.Series.Count() < 1) { byte[] content = new byte[0]; return new FileContentResult(content, "Series"); } XmlSerializer serializer = new XmlSerializer(model.Series.FirstOrDefault().GetType()); MemoryStream xmlStream = new MemoryStream(); foreach (Series s in model.Series) { serializer.Serialize(xmlStream, s); } byte[] content2 = new byte[xmlStream.Length]; xmlStream.Position = 0; xmlStream.Read(content2, 0, […]